MySQL优化的14条建议

MySQL优化的14条建议

MySQL优化的14条建议

1. 避免使用 select *

你需要什么信息,就查询什么信息,查询的多了,查询的速度肯定就会慢。

2. 当你只需要查询出一条数据的时候,要使用 limit 1

比如你要查询数据中是否有男生,只要查询一条含有男生的记录就行了,后面不需要再查了,使用Limit 1 可以在找到一条数据后停止搜索。

3. 建立高性能的索引

索引不是随便加的也不是索引越多越好,更不是所有索引对查询都有效。

4. 建数据库表时,给字段设置固定合适的大小

字段不能设置的太大,设置太大就造成浪费,会使查询速度变慢。

5. 要尽量使用not null

6. EXPLAIN 你的 SELECT 查询

使用EXPLAIN,可以帮助你更了解MySQL是如何处理你的sql语句的,你可以查看到sql的执行计划,这样你就能更好的去了解你的sql语句的不足,然后优化语句。

7. 在Join表的时候,被用来Join的字段,应该是相同的类型的,且字段应该是被建过索引的。

这样,MySQL内部会启动为你优化Join的SQL语句的机制。

8. 如果你有一个字段,比如“性别”,“国家”,“民族”, “省份”,“状态”或“部门”,这些字段的取值是有限而且固定的,那么,应该使用 ENUM 而不是 VARCHAR。

因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。

9. 垂直分割

将常用和有关系的字段放在相同的表中,把一张表的数据分成几张表,这样可以降低表的复杂度和字段的数目,从而达到优化的目的

10. 优化where查询

①避免在where子句中对字段进行表达式操作

比如:select 列 from 表 where age*2=36; 建议改成 select 列 from 表 where age=36/2;

②应尽量避免在 where 子句中使用 !=或<> 操作符,否则将引擎放弃使用索引而进行全表扫描

③应尽量避免在 where 子句中使用 = 操作符

④应尽量避免在 where 子句中使用 IS NULL 或 IS NOT NULL

11. 理解select Count (*)和Select Count(1)以及Select Count(column)区别

一般情况下,Select Count (*)Select Count(1)两者返回结果是一样的; 假如表没有主键(Primary key), 那么count(1)比count()快; 如果有主键的话,那主键作为count的条件时候count(主键)最快; 如果你的表只有一个字段的话那count()就是最快的; count(*)count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计。

12. 理解select distinct 和 group by 的区别

在某些情况下,使用 select distinct 可能比使用 group by 更快。因为 select distinct 会先对数据进行排序和去重,然后再返回结果。而 group by 是对数据进行分组,然后再对每个分组应用聚合函数。

13. 理解子查询和连接的优缺点

在某些情况下,使用子查询可能比使用连接更快。因为子查询会先对数据进行过滤,然后再进行连接。而连接是先对数据进行连接,然后再进行过滤。

14. 理解索引的选择性

选择性是指索引列中不同值的数量与总行数的比率。选择性越高,索引的效果越好。通常选择性在50%以上时,索引效果较好。


![MySQL优化的14条建议](https://qiniu.meowparty.cn/coder.2023/2025-01-22/Lesson-164bc3f2b3078.png)

Read more

印度统治阶级锁死底层人的5大阳谋

印度统治阶级锁死底层人的5大阳谋

基于社会学和心理学视角: 1. 情感道德: 统治阶级通过塑造道德规范和情感价值观,引导底层人群的行为。例如,宣扬“勤劳致富”“忍耐美德”等观念,让底层人接受现状并自我约束。这种道德框架往往掩盖结构性不平等,使人们将个人困境归咎于自身而非系统。 2. 欲望控制: 通过消费主义和媒体宣传,统治阶级刺激底层人的物质与社会欲望(如名牌、地位),但同时设置经济壁垒,使这些欲望难以实现。底层人被困在追求“更好生活”的循环中,精力被分散,无法聚焦于挑战权力结构。 3. 情绪煽动: 利用恐惧、愤怒或民族主义等情绪,统治阶级可以通过媒体或公共事件转移底层人对社会问题的注意力。例如,制造外部敌人或内部对立(如阶层、种族矛盾),让底层人内耗而非联合反抗。 4. 暴利诱惑: 通过展示少数“成功案例”或快速致富的机会(如赌博、投机),诱导底层人追逐短期暴利。这种机制不仅让底层人陷入经济风险,还强化了对现有经济体系的依赖,削弱长期变革的可能性。 5. 权力震撼: 通过展示统治阶级的权力(

By Ne0inhk