1.只要一条数据时,使用imit1,如果你确定你的条件下,只可能会有一条数据,请不要再让mys继续下去查找下去
比较用例
1.1.select*from tablename where id= 1
1.2.select 1 from tablename where id =1 limit 1
2.如果表中某一个字段经常被用来查询,那么请使用索引对该字段进行标记
alter table tablename and index(fieldone
如此,査询的效率会增加很多。
3在join表的时候使用相当类型的列,并将其索引
如果你一个sq中使用较多的ioin查询,那么请确认两个表中的条件字段是否被建立索引,并且字段具有相当类型,比如说使用以下语句进行join链接
select *from table1 tl left join table2 t2 on tl.name =t2. name么
请确认t1.name和t2.name具有相同类型的字符集,并且name在两个表中都有索引,那么这样的查询速度也会提升很多。
4.避免使用 select*
如果你确定你将要获取表中某一些列,那么使用以下的查询
select field1 from table 1
而不是
select from table
因为越多的查询自然会增加数据库查询的压力,同时,从后台传输到前台两个独立的服务器时,也会增加网络传输的压力,那么请尽量使用需要什么字段就获取什么字段的好习惯。
5我们应该为每张表设置一个自动增长的列,并且为主键,且字段类型为 unsigned(未签字的),然后为auto_ increment(自动增长的),并且请不要使用 varchar类型的字段作为主键,即使是唯一的。