1. 优化你的MySQL查询缓存
在MySQL服务器上进行查询,可以启用高速查询缓存。让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一。当同一个查询被执行多次时,如果结果是从缓存中提取,那是相当快的。但主要的问题是,它是那么容易被隐藏起来以至于我们大多数程序员会忽略它。在有些处理任务中,我们实际上是可以阻止查询缓存工作的。
2.利用LIMIT 1取得唯一行
有时,当你要查询一张表只需要看一行。你可能会取一条十分独特的记录,或者只是刚好检查了任何存在的记录数,他们都满足了你的WHERE子句。在这种情况下,增加一个LIMIT 1会令你的查询更加有效。这样数据库引擎发现只有1后将停止扫描,而不是去扫描整个表或索引。
3.索引中的检索字段
索引不仅是主键或唯一键。如果你想搜索表中的任何列,你应该一直指向索引。
4.不要使用BY RAND()命令
这是一个令很多新手程序员会掉进去的陷阱。这个陷阱在你是用BY RAND()命令时就开始创建了。
如果真的需要随机显示你的结果,有很多途径解决,但要避免性能瓶颈的出现。问题在于,MySQL可能会为表中
每一个独立的执行BY RAND()命令,这样会消耗处理器的的处理能力,然后却仅仅给你返回一行
5. 尽量避免SELECT *命令
从表中读取越多的数据,查询会变得更慢。他增加了磁盘需要操作的时间,还是在数据库服务器与WEB服务器是独立分开的情况下。始终指定你需要的列,这是一个很好的习惯.$sql=“select username from user where user_id=1”.
6.准备好的语句
准备好的语句,从性能优化和安全两方面 。
准备好的语句在过滤已经绑定的变量默认情况下,能给应用程序以有效的保护,防止SQL注入攻击。
7.永远为每张表设置一个ID
在数据库里的每张表都设置一个ID做为其主键,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的AUTO_INCREMENT标志。如果列为varchar类型的来当做主键会使得性能下降,在程序中,应该使用表的ID来构造你的数据结构。