今天输入了3w数据进行了一个简单的测试,但是结果和网络上一般的说法不一样,记录一下,有时间了使用百万条数据测试再更新。
有朋友发现错误请指点一下,小的再三感谢。
1、使用 inner join 替代 where,显式查询比隐式更快
TIMESTAMP:保持了自1970年1月1日午夜(格林尼治标准时间)以来的秒数,它和Unix的时间戳相同。它只使用了4个字节存储空
间。和时区有关
自己的一点想法:
主键因为有索引,所以查询效果好,所以可以这样写
select * from user where id in (select id from user where 各种条件 order by id ase)
条件频繁使用最好也有索引,like “%xx%” 则索引无用,like "xx%" 则索引有用
like无法优化,有一些自带函数(eg:instr),和java的字符串处理差不多,但是like也是使用的正则,所以就使用like即可
单字段,多条件就使用
SELECT * FROM question where INSTR( q_topic, '驾驶习惯' ,'xxx'.....) > 0
测试总结:
1、like比insr快(3W数据是这样)
2、索引速度非常快
3、limit的优化确实好
4、where 比 inner join 快(3W数据是这样)
5、* 确实比罗列 列要慢
6、排除数量大的,有索引的条件放到where的最后面(未感觉到,我放到哪里都一样)