摘要:
从功能上分类的话有 主键索引 唯一索引 全文索引 从数据结构上分类的话 B+树索引 哈希索引 从存储内容上分类的话 聚簇索引 非聚簇索引 阅读全文
posted @ 2025-05-23 23:11
kuki'
阅读(18)
评论(0)
推荐(0)
摘要:
索引就像一本书的目录,能让MySQL快速定位数据,避免全表扫描。 一般是B+树 结构,查找效率是O(log n),比从头到尾扫一遍数据要快得多 除了查的快,索引还能加速排序,分组,连接等操作。 可以通过create index创建索引,比如: create index idx_name on stu 阅读全文
posted @ 2025-05-23 23:04
kuki'
阅读(14)
评论(0)
推荐(0)
摘要:
从高而低的效率排序是sytem,const,eq_ref, range, index和ALL。 一般情况下,建议type值达到const,eq_ref 或ref,因为这些类型表明查询使用了索引,效率较高。 如果是范围查询,range类型也是可以接受的。 ALL类型表示全表扫描,性能最差,不可接受。 阅读全文
posted @ 2025-05-23 22:56
kuki'
阅读(22)
评论(0)
推荐(0)
摘要:
explain是MySQL提供的一个用于查看SQL执行计划的工具,可以帮助我们分析查询语句的性能问题。 explain一共有10来个输出参数 id select_type table type possible_keys keys ken_len ref rows extra 比如说type=ALL 阅读全文
posted @ 2025-05-23 21:53
kuki'
阅读(11)
评论(0)
推荐(0)
摘要:
联合索引最重要一条是遵守最左前缀原则,就是查询条件需要从索引的最左侧字段开始。 阅读全文
posted @ 2025-05-23 21:26
kuki'
阅读(12)
评论(0)
推荐(0)
摘要:
引发原因 上传文件过大,没有正确处理,导致一下子撑爆了内存,程序直接崩溃了。 导出堆转储文件进行分析 第一步,使用jmap命令手动生成Heap Dump文件: jmap -dump:format=b,file=heap.hprof <pid> 第二步,使用MAT、Jprofiler等工具分析,查看内 阅读全文
posted @ 2025-05-23 21:10
kuki'
阅读(13)
评论(0)
推荐(0)
摘要:
覆盖索引的核心是 查询所需的字段都在同一个索引里。 这样MySQL就不需要回表,直接从索引中返回结果。 实际使用中,优先考虑把where和select涉及的字段一起建联合索引。 通过explain观察结果是否有using index,确认命中索引。 阅读全文
posted @ 2025-05-23 15:16
kuki'
阅读(11)
评论(0)
推荐(0)
摘要:
总述 尽可能少地扫描、尽快的返回结果。 常见做法,加索引,比如说使用覆盖索引、让联合索引遵守最左前缀原则等。 阅读全文
posted @ 2025-05-23 11:39
kuki'
阅读(8)
评论(0)
推荐(0)
摘要:
编辑MySQL的配置文件 my.cnf, 设置slow_quey_log参数为1. 然后重启MySQL就行。 或者通过set global命令动态设置 set global slow_query_log = 'ON'; set global slow_query_log_file = '/var/l 阅读全文
posted @ 2025-05-23 11:24
kuki'
阅读(11)
评论(0)
推荐(0)
摘要:
1.找到慢SQL 通过启用慢查询日志,记录超过指定时间的SQL查询。 或者使用show processlist; 命令查看当前正在执行的SQL语句,找到执行时间较长的SQl 或者业务基建中加入对慢SQL的监控,常见方案有 字节码插桩 连接池扩展 ORM框架扩展 2. 然后使用explain 查看慢S 阅读全文
posted @ 2025-05-23 11:14
kuki'
阅读(27)
评论(0)
推荐(0)
摘要:
1. 慢SQL定义 MySQL中有一个叫long_query_time的参数,执行时间超过该参数的SQL就是慢SQL,会被记录到慢查询日志中。 阅读全文
posted @ 2025-05-23 11:06
kuki'
阅读(42)
评论(0)
推荐(0)

浙公网安备 33010602011771号