上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 39 下一页
摘要: 可以通过两种方式来定位执行效率较低的SQL语句。一种通过慢查询日志定位,可以通过慢查询日志定位那些已经执行完毕的SQL语句。 另一种是使用show processlist查询,慢查询日志在查询结束后才记录,所以在应用反应执行效率出现问题的时候查询慢查询日志不能定位问题,此时可以使用show proc 阅读全文
posted @ 2021-07-10 17:43 Eleanor123 阅读(168) 评论(0) 推荐(1) 编辑
摘要: 如果索引列出现了隐式类型转换,则MySQL不会使用索引。常见的情况是在SQL的where条件中字段类型为字符串,其值为数值,如果没有加引号那么MySQL不会使用索引。 如果where条件中含有or,除非or前使用了索引列而or之后是非索引列,索引会失效。 MySQL不能在索引中执行like操作,这是 阅读全文
posted @ 2021-07-10 17:38 Eleanor123 阅读(281) 评论(0) 推荐(1) 编辑
摘要: 从MySQL5.6开始,可通过trace文件进一步获取优化器是如何选择执行计划的,在使用时需要先打开设置,然后执行一次SQL,最后查看information_schema.optimizer_trace表的内容,该表为联合i表,只能在当前会话进行查询,每次查询后返回的都是最近一次执行的SQL语句。 阅读全文
posted @ 2021-07-08 23:57 Eleanor123 阅读(131) 评论(0) 推荐(1) 编辑
摘要: 通过show profile可以分析SQL语句性能消耗,例如查询到SQL会执行多少时间,并显示CPU、内存使用量,执行过程中系统锁即表锁的花费时间等信息。例如show profile cpu/memory/block IO for query n分别查询id为N的SQL语句的CPU、内存以及IO的消 阅读全文
posted @ 2021-07-08 23:53 Eleanor123 阅读(78) 评论(0) 推荐(1) 编辑
摘要: 1、建立索引 对查询频次比较高且数据量比较大的表建立索引。索引字段的选择,最佳候选列应当从where子句的条件中提取,如果where子句中的组合比较多,应当挑选最常用,过滤效果最好的列的组合。业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。 2、使用前缀索引 索引列开始的部分字符 阅读全文
posted @ 2021-07-08 23:46 Eleanor123 阅读(531) 评论(0) 推荐(1) 编辑
摘要: (1)在主库上把数据更改记录到二进制日志中。 每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志中。MySQL会按事务提交的顺序而非每条语句的执行顺序来记录二进制日志,在记录二进制日志后,主库会告诉存储引擎可以提交事务了。 (2)备库将主库的日志复制到自己的中继日志中。 备库首先启 阅读全文
posted @ 2021-07-08 00:08 Eleanor123 阅读(81) 评论(0) 推荐(1) 编辑
摘要: 聚簇索引不是一种索引类型,而是一种数据存储方式。innoDB的聚簇索引实际上在同一个结构中保存了B-Tree索引和数据行。当表有聚簇索引时,它的行数据实际上存放在索引的叶子页中,因为无法同时把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索引。 优点: 可以把相关数据保存在一起,数据访问就更快 阅读全文
posted @ 2021-07-07 23:55 Eleanor123 阅读(1976) 评论(0) 推荐(2) 编辑
摘要: 通过数值比较、范围过滤等就可以完成绝大数需要的查询,但如果希望通过关键字匹配进行查询,就需要基于相似度的查询,而不是精确的数值比较,全文索引就是为这种场景设计的。 myISAM的全文索引是一种特殊的B-Tree索引,一共有两层。第一层是所有关键字,然后对每一个关键字的第二层,包含的是一组相关的“文档 阅读全文
posted @ 2021-07-07 23:47 Eleanor123 阅读(1721) 评论(0) 推荐(1) 编辑
摘要: 如果要快速访问数据且这些数据不会被修改,重启以后丢失也没有关系,那么使用memory表是非常有用的。Memory表至少要比myISAM表快一个数量级,因为所有数据都保存在内存,不需要磁盘IO,memory表的结构在重启后会保留,但数据会丢失。 Memory表适合的场景:查找或者映射表、缓存周期性聚合 阅读全文
posted @ 2021-07-07 23:41 Eleanor123 阅读(70) 评论(0) 推荐(1) 编辑
摘要: MySQL5.1之前,myISAM是默认存储引擎,myISAM提供了大量的特性,包括全文索引、压缩、空间函数等,但不支持事务和行锁,最大缺陷是崩溃后无法安全恢复。对于只读的数据或表比较小,可以忍受修复操作的情况仍然可以使用myISAM。 myISAM将表存储在数据文件和索引文件中,分别以.myd和. 阅读全文
posted @ 2021-07-07 23:34 Eleanor123 阅读(320) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 39 下一页