php数据库应用程序建议
一、保持独立的读写连接
开始就创建两个数据库连接是一个好的方法,一个用于读取,一个用于写入,并且允许不同的数据库服务器连接他们。如果只有一个服务器,则将它们设置彼此相同。
当操作为INSERT, UPDATE, DELETE等使用写入连接,纯SELECT查询则一律使用读取连接。
如果升级应用程序,则可以将数据库服务器分离到其他计算机上,并且通过复制来连接它们。但若要实现这一工作,必须确保所有的写入都指向主要的服务器,所有读取都指向适当的从属服务器。
通过使用两个连接,可以轻松重新配置应用程雪以支持大量不同的扩展选项,使用一个或多个从属服务器来增加查询带宽。从一开始就实现这种方案只需要很少的努力,但是之后却会大大增加选择的余地。
二、默认使用"utf-8"字符集
现如今,使用“utf-8”字符集编写所有的应用程序的存储和页面呈现功能。
启动服务之后,将一个庞大的数据库从默认的ISO-8859-1格式转换为"utf-8"是一项令人望而生畏而且耗时的任务,还不如一开始就在所有的地方都使用“utf-8”, 这会让你轻松很多。
通过Mysql配置文件中设置一些参数, 可以相知所有新的数据库、表和文本字段在默认情况下都采用"utf-8"创建。
[mysqld]
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
最后一条指令告诉服务器不执行与客户端的字符集协商(negotiation)。通过设置此项,可以确保所有客户端和连接都设置为采用“utf-8”操作,而无需在连接到此数据库服务器的每个服务器的my.cnf文件上专门配置此项内容。为了确保与Mysql服务器交互的所有服务都采用一致的行为,这是一个好方法,并且还可以确保读取或写入服务器时所有的数据都无需进行字符集转换。
另一个好处,不再需要向连接发送"set NAMES utf8"语句来确保切换到utf8.