MySQL优化三大方向①优化MySQL所在服务器内核(此优化一般由运维人员完成)。②对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③对SQL语句以及表优化。MySQL参数优化1:MySQL默认的最大连接数为100,可以在mysql客户端使用以下命令查看mysql>showvariableslike‘max_connections‘;2:查看
分类:
数据库 时间:
2018-03-26 16:03:16
阅读次数:
206
type列 MySQL手册上注明type列用于描述join type,不过我们认为把这一列视为对access type--即MySQL决定如何在表中寻找数据的方式的描述,更加合适一些,以下所示从最坏情况到最好情况下的access类型: ALL All类型即常说的全表扫描,通常意味着MySQL需要从头 ...
分类:
数据库 时间:
2018-03-25 18:07:57
阅读次数:
211
https://www.red-gate.com/simple-talk/sql/sql-training/the-sql-server-query-optimizer/ 为了理解如何编写SQL Server的SQL代码,查询优化器的工作原理非常重要。 SQL Server查询优化器是一个基于成本的 ...
分类:
数据库 时间:
2018-03-25 10:32:58
阅读次数:
247
1.int型子查询陷阱 题: 在ecshop商城表中,查询6号栏目的商品, (注,6号是一个大栏目) 最直观的: mysql> select goods_id,cat_id,goods_name from goods where cat_id in (select cat_id from ecs_c ...
分类:
数据库 时间:
2018-03-18 13:54:24
阅读次数:
199
要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了,那就是通过 Query Profiler 功能。 M ...
分类:
数据库 时间:
2018-03-17 23:29:46
阅读次数:
392
索引覆盖 是指 如果查询的列恰好是索引的一部分,那么查询只需要在索引文件上进行,不需要回行到磁盘再找数据.这种查询速度非常快,称为”索引覆盖”,比平时的查询少一次到磁盘读数据的操作。(索引正好覆盖到查询的数据) 例如下面: ...
分类:
数据库 时间:
2018-03-17 23:27:00
阅读次数:
298
首先明白两句话: innodb的次索引指向对主键的引用 (聚簇索引) myisam的次索引和主索引 都指向物理行 (非聚簇索引) 聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索 ...
分类:
数据库 时间:
2018-03-17 21:42:27
阅读次数:
334
良好的逻辑设计和物理设计是高性能的基石,设计是建造房屋时的骨架,骨架合理,那么房屋也会很稳固,美观。骨架歪了,再怎么糊墙也是于事无补
分类:
数据库 时间:
2018-03-15 16:28:14
阅读次数:
162
测试数据 调用存储过程插入1000000万条数据 一、count 查询 添加 uid 索引后重新执行count查询 对比之后可以看到添加uid索引后,count查询 mysql优化器选择的是uid索引 使用force index强制使用索引,可以发现使用k_uid索引的效率要比使用主键索引要快的多。 ...
分类:
其他好文 时间:
2018-03-11 14:38:56
阅读次数:
184
如果对优化选择器的执行计划不满意,可以使用优化选择器提供的几个提示来控制最终的执行计划。可以用的提示如下所示: HIGH_PRIORITY和LOW_PRIORITY 这两个提示用于告诉Mysql,当多个语句的时候同时访问同一张表的时候,哪些语句的优先级高些,哪些语句的优先级低一些。 HIGH_PRI ...
分类:
其他好文 时间:
2018-03-11 11:45:49
阅读次数:
139