MySQL性能优化的9种姿势,面试再也不怕了!

MySQL性能优化的9个习惯,不怕对话!创建表时,可以通过选择最合适的字段来获取属性。
例如,在定义zip字段时,使用char(6)而不是char(255)可以减少不必要的空间使用。
将字段设置为NOTNULL可以避免匹配空值,提高查询效率。
通过定义字段“Province”或“Gender”,可以使用ENUM类型,可以进一步获取。
使用组合而不是子查询可以获得更好的结果。
连接问题通常更快,尤其是涉及列表时。
对于添加操作,请使用相同类型的字段并创建列表。
使用JOIN来替代手动创建的临时表,可以避免创建和删除临时表的过程,提高数据库性能。
使用Unionall可以减少排序操作,提高效率。
它们可以确保数据库操作的一致性和完整性。
通过START、COMMAND和REVOLUTION语句,可以保持数据操作的原子性、一致性、隔离性和持久性。
注意业务事务的汇合,比如脏读、不可重复读、幻读以及相关的事务。
外键可以进行数据关联并确保每个数据点都是现有实体。
创建表时,请确保使用InnoDB类型来支持事务和外键。
阻塞表可以提高性能,但在需要多个并发访问时可能会导致延迟。
通过使用锁定表,数据被临时锁定在事务中,从而减少冲突。
索引可以显着提高查询速度,尤其是在使用MAX()、MIN()和ORDINBY命令时。
在列表中选择适当的字段,并避免包含大量重复值的字段列表。
避免子查询、索引函数、OR与IN存储库、使用全文索引的WAN、END优化、字符类型一致性、类型阻塞、避免随机表和批量INSERT可以进一步优化搜索性能。
优化SQL语句,避免冗余操作,提高数据库效率。

mysql的sql语句优化5种方式

只有5种?我知道十多句话。

索引(我不必查询整个表)

更改数据存储引擎(MyISAM不再需要担心在没有事务的情况下锁定表)

增加冗余数,减少联表查询次数(消耗硬盘空间,减少CPU使用)

调整查询顺序,先减少查询量(数字越小,该表的笛卡尔积也将是很少)

全文索引(文本长度部分有限,IO使用量会增加很多,但很快就完成)

尝试不要使用函数进行查询(函数没有索引)

查询变量类型必须先固定,以减轻系统负担(如果我先改系统,就不用检查了)

升级服务器硬件(无贵的)解决不了)

配置临时表空间,出于逻辑原因使用临时表,减少主表查询和资源抢占(我是唯一检查的)

理由函数减少了系统判断(明明都是内容能确认不一样吗?可以使用UNION系统吗?只需检查它是否重复即可。
UNIONALL将跳过此步骤。
Innerjoin和leftjoin也是如此。

强制索引(复杂索引的情况下,手动索引有时比系统判断还要快)更好)

脏读、虚拟读书等(堵车的话我就绕道)

数据的存储和移动(无用的数据一定要存储,不要占用主表资源)

整理表(迁移后碎片会更好,宝贝))

重建索引(数据用完后也必须重建索引,保证速度保证)

善用存储程序(查询链N张表(N大于10)千万不要用一条SQL语句结束,用分布式查询结果集合并一下(骚年)

数据数据预处理(mysql也有这个工作。
对于数据通常需要子查询,可以先创建明细表,在后台根据主表完成查询时会更方便)

懒惰。