Thinking of Mysql
文章平均质量分 52
sifutian
这个作者很懒,什么都没留下…
展开
-
Mysql 时间和日期函数
Mysql日期和时间函数不求人 对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table ...原创 2009-04-28 11:53:24 · 65 阅读 · 0 评论 -
SQL优化之建立索引一
基于索引的SQL语句优化之降龙十八掌 转自 尘封往事 引用功能被关闭了。 前言 客 服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急剧下降,小型机idle所剩无几,应用服 务器断连、超时,严重影响业务的正常运行。因此,称低效的SQL语句为客服业务...原创 2009-04-29 17:53:29 · 179 阅读 · 0 评论 -
SQL优化之建立索引二
降龙十八掌 第一掌 避免对列的操作 任何对列的操作都可能导致全表扫描,这里所谓的操作包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等式的右边,甚至去掉函数。 例1:下列SQL条件语句中的列都建有恰当的索引,但30万行数据情况下执行速度却非常慢: select * from record where substrb(CardNo,1,4)='5378'(13秒) se...原创 2009-04-29 17:54:18 · 117 阅读 · 0 评论 -
SQL优化之建立索引三
第四掌 尽量去掉"IN"、"OR" 含有"IN"、"OR"的Where子句常会使用工作表,使索引失效;如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应该包含索引。 例4: select count(*) from stuff where id_no in('0','1')(23秒) 可以考虑将or子句分开: select count(*) from stuff where ...原创 2009-04-29 17:54:56 · 135 阅读 · 0 评论 -
SQL优化之建立索引四
第九掌 屏蔽无用索引 继 续上面8的例子,由于实际查询中,还有涉及到DisposalCourseFlag=6的查询,而此时如果用上该字段上的索引,将是非常不明智的,效率也 极低。因此这种情况下,我们需要用特殊的方法屏蔽该索引,以便ORACLE选择其他字段上的索引。比如,如果字段为数值型的就在表达式的字段名后,添加 “+ 0”,为字符型的就并上空串:“||""” 如: select...原创 2009-04-29 17:56:26 · 93 阅读 · 0 评论 -
SQL优化之建立索引五
第十四掌 使用基于函数的索引 前面谈到任何对列的操作都可能导致全表扫描,例如: select * from emp where substr(ename,1,2)=’SM’; 但是这种查询在客服系统又经常使用,我们可以创建一个带有substr函数的基于函数的索引, create index emp_ename_substr on eemp ( substr(ename,1,2) )...原创 2009-04-29 17:57:01 · 94 阅读 · 0 评论 -
SQL优化之建立索引六
第十八掌 决定使用全表扫描还是使用索引 和 所有的秘笈一样,最后一招都会又回到起点,最后我们来讨论一下是否需要建立索引,也许进行全表扫描更快。在大多数情况下,全表扫描可能会导致更多的物理磁 盘输入输出,但是全表扫描有时又可能会因为高度并行化的存在而执行的更快。如果查询的表完全没有顺序,那么一个要返回记录数小于10%的查询可能会读取表 中大部分的数据块,这样使用索引会使查询效率提高很...原创 2009-04-29 17:57:36 · 71 阅读 · 0 评论 -
SQL 优化
查询语句是我们在开发中经常使用到的,可以说一个好的查询语句直接影响到网站的运行速度,这一点也不夸张。在今天,我更清楚的了解这个事实。 一个简单的实例,足以说明这一切。 1) A表有500,000条,B表有1,000条数据, 2) A、B表都有FirstName,LastName两个字段,但其中这两个并不是完全匹配的,例如B表的FirstName有‘J.’的形式,认为是名字简写...2009-08-03 23:32:19 · 73 阅读 · 0 评论 -
SQL优化34条
这几天在研究SQL优化,顺便把从网上查到的资料记录下,加深印象学习: 转自:http://blog.csdn.net/feixianxxx/archive/2009/07/22/4371614.aspx (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM 子句中的表名,FROM 子句中写在最后的表 (基础表drivin...原创 2009-08-03 23:37:05 · 69 阅读 · 0 评论