SQL
dawang325
这个作者很懒,什么都没留下…
展开
-
mysql之优化器、执行计划、简单优化
sql语句在sql层的流程:用户传入sql-----查询缓存(命中缓存可直接返回结果)----解析器(生成sql解析树)----预处理器(可能sql等价改写)-----查询优化器(生成sql执行计划)----查询执行引擎----结果返回给用户。 1.优化器是什么?优化器是数据库的一个核心子系统,你也可以把他理解为MySQL数据库中的一个核心模块或者一个核心功能模块。 2.优化器的目...转载 2019-12-22 20:02:18 · 514 阅读 · 0 评论 -
单列索引和联合索引的区别
一、联合索引测试注:Mysql版本为 5.7.20创建测试表(表记录数为60000):CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userId` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAUL...原创 2019-12-22 18:31:06 · 327 阅读 · 0 评论 -
Mysql索引的原理详解和索引的使用
一 、介绍为何要有索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。什么是索引?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中...转载 2019-12-21 19:21:26 · 282 阅读 · 0 评论 -
MySQL的索引是什么?怎么优化?
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。一、导致SQL执行慢的原因: 1.硬件问题。如网络速度慢,内存不足,I/O吞吐量小,磁盘空间...原创 2019-12-14 23:50:57 · 233 阅读 · 0 评论 -
case when then else end
sql case when then else end查询生成统计列表:SELECT a.managecom, a.subtype, count(*) loadsucc, sum(case when a.state in ('4', '5', '6', '7', '8', '9') then 1 else 0 end) recogsucc,...转载 2019-12-10 22:35:16 · 111 阅读 · 0 评论 -
数据库SQL优化总结
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字...转载 2018-06-05 20:05:31 · 144 阅读 · 0 评论