Mysql读语句优化一些好的习惯----yueliangdao0608
时间:2011-10-26
来源:互联网
1、
SELECT * FROM t WHERE YEAR(d) >= 1994;
SELECT * FROM t WHERE d >= '1994-01-01';//这个好,相比上面的语句没有用year函数,
-------------------------------------------------------------------------------
2、
SELECT * FROM Country ,CountryLanguage
WHERE Country.Code= CountryLanguage.CountryCode;
SELECT * FROM Country JOIN CountryLanguage
ON Country.Code= CountryLanguage.CountryCode;//这个好,显式说明了连接关系,以前好像在哪里看到过,记不起来了
-------------------------------------------------------------------------------
3、
SELECT * FROM t WHERE id = ‘19’;
SELECT * FROM t WHERE id = 19;//id 设置成int类型的要比char或者archar的好?不是很明白
-------------------------------------------------------------------------------
4、
SELECT * FROM t WHERE length(column_t) = 5;
SELECT * FROM t WHERE column_length=5; //这个也不明白
--------------------------------------------------------
5、
SELECT * FROM t WHERE name LIKE '%de%‘
SELECT * FROM t WHERE name LIKE 'de%'
SELECT * FROM t WHERE name >= 'de' AND name < 'df‘//将like查询改成非like查询?具体例子什么意思不清楚
-------------------------------------------------------------------------------
6、
SELECT * FROM t WHERE 1;
SELECT * FROM t WHERE 1 LIMIT 10;这个也不懂
-------------------------------------------------------------------------------
7、
SELECT * FROM Country WHERE Name LIKE 'M%';
SELECT Name FROM Country WHERE Name LIKE 'M%';//只取需要的字段
在看yueliangdao0608的Mysql开发与优化的ppt时,看到了上面的sql,所以拿出来请教下
SELECT * FROM t WHERE YEAR(d) >= 1994;
SELECT * FROM t WHERE d >= '1994-01-01';//这个好,相比上面的语句没有用year函数,
-------------------------------------------------------------------------------
2、
SELECT * FROM Country ,CountryLanguage
WHERE Country.Code= CountryLanguage.CountryCode;
SELECT * FROM Country JOIN CountryLanguage
ON Country.Code= CountryLanguage.CountryCode;//这个好,显式说明了连接关系,以前好像在哪里看到过,记不起来了
-------------------------------------------------------------------------------
3、
SELECT * FROM t WHERE id = ‘19’;
SELECT * FROM t WHERE id = 19;//id 设置成int类型的要比char或者archar的好?不是很明白
-------------------------------------------------------------------------------
4、
SELECT * FROM t WHERE length(column_t) = 5;
SELECT * FROM t WHERE column_length=5; //这个也不明白
--------------------------------------------------------
5、
SELECT * FROM t WHERE name LIKE '%de%‘
SELECT * FROM t WHERE name LIKE 'de%'
SELECT * FROM t WHERE name >= 'de' AND name < 'df‘//将like查询改成非like查询?具体例子什么意思不清楚
-------------------------------------------------------------------------------
6、
SELECT * FROM t WHERE 1;
SELECT * FROM t WHERE 1 LIMIT 10;这个也不懂
-------------------------------------------------------------------------------
7、
SELECT * FROM Country WHERE Name LIKE 'M%';
SELECT Name FROM Country WHERE Name LIKE 'M%';//只取需要的字段
在看yueliangdao0608的Mysql开发与优化的ppt时,看到了上面的sql,所以拿出来请教下
作者: zhaoyun0209 发布时间: 2011-10-26
1、
第二个,也就是 WHERE d >= '1994-01-01';这个可以使用索引。
2、
效率上一样,好坏无法明确说明,这个一直存在争议。
3、
INT的速度会快一些。整数处理起来比字符串快。
4、
估计是让加个字段 column_length
5、
name LIKE '%de%‘肯定效率不好,但要看需求。
至于 name LIKE 'de%' 和 name >= 'de' AND name < 'df‘/ 应该没有明显差距。不过需要做试验以确认。
6、
看MYSQL手册中的LIMIT 的作用
7、
如果不需要其它字段,当然不要列,这样,只需要处理你需要的字段,至少网络上可以少传不少字节。
第二个,也就是 WHERE d >= '1994-01-01';这个可以使用索引。
2、
效率上一样,好坏无法明确说明,这个一直存在争议。
3、
INT的速度会快一些。整数处理起来比字符串快。
4、
估计是让加个字段 column_length
5、
name LIKE '%de%‘肯定效率不好,但要看需求。
至于 name LIKE 'de%' 和 name >= 'de' AND name < 'df‘/ 应该没有明显差距。不过需要做试验以确认。
6、
看MYSQL手册中的LIMIT 的作用
7、
如果不需要其它字段,当然不要列,这样,只需要处理你需要的字段,至少网络上可以少传不少字节。
作者: ACMAIN_CHM 发布时间: 2011-10-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28