
mysql
文章平均质量分 74
关于mysql的一些问题
咸鱼布衣
目前在搞实验室,杭州的有意者联系
展开
-
mysql优化
说说对 SQL 语句优化有哪些方法?Where子句中:where表之间的连接必须写在其他 Where 条件之前,那些可以过滤掉最大数量记录的条件必须写在Where子句的末尾和HAVING 最后。用EXISTS替代IN,用NOT EXISTS替 NOT IN。避免在索引列上使用计算、IS NULL和IS NOT NULL对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎原创 2021-10-24 22:56:27 · 139 阅读 · 1 评论 -
使用索引查询一定能提高查询的性能吗?为什么? mysql问题(二)
使用索引查询不一定能提高查询的性能Cardinality 索引基数索引基数简单的说就是:你索引列的唯一值的个数,如果是复合索引就是唯一组合的个数。这个数值将会作为MySQL优化器对语句执行计划进行判定时依据。如果唯一性太小,那么优化器会认为这个索引对语句没有太大帮助,而不使用索引。cardinality值越大,就意味着,使用索引能排除越多的数据,执行也更为高效。有时候记录更新,但索引基数没有更新,需要使用analyzetable更新索引基数。ps:当MySQL数据库做FLUSH TABLES t原创 2021-10-11 00:10:59 · 3662 阅读 · 1 评论 -
为什么表数据删掉一般,表文件大小不变 mysql问题(一)
InnoDB分两部分,表结构定义和数据。MySQL8.0之前表结构在.frm的文件中,8.0以后的版本允许放在系统表中,因为表结构定义占用空间其实很小。每个 InnoDB 表数据存储在一个以 .ibd为后缀的文件中。数据表可以存在共享表空间,也可以存单独的文件,由innodb_file_per_table这个参数控制,参数的值有两种:OFF:表示表数据存放在共享表空间,和数据字典放在一起ON:表示表数据存储再.ibd后缀的文件中MySQL5.6.6版本以后默认设置为ON。不过建议无论在哪里都设原创 2021-10-09 23:29:01 · 355 阅读 · 0 评论 -
utf8和utf8mb4的区别(mysql)
https://www.cnblogs.com/cuiqq/p/11045487.html原创 2021-01-05 23:21:41 · 162 阅读 · 0 评论 -
mysql数据库索引 MyISAM 索引与InnoDB 索引
mysql基础操作,与一般的sql数据库一样,是增删查改简单的学习菜鸟:https://www.runoob.com/mysql/mysql-tutorial.html什么是索引在关系型数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单简单理解就是重新建一个目录,到时候查这目录’然后再返回去找原先那个数据表。可以快速增加查询速度,但会减慢增删改操作。https..原创 2021-03-12 10:35:46 · 235 阅读 · 0 评论 -
mysql数据库InnoDB 索引 索引下推与回表
回表操作 当所要查找的字段不在非主键索引树上时,需要通过叶子节点的主键值去主键索引上获取对应的行数据,这个过程称为回表操作。 索引下推 索引下推主要是减少了不必要的回表操作。对于查找出来的数据,先过滤掉不符合条件的,其余的再去主键索引树上查找。 在 Mysql 5.6 版本之前是没有索引下推这个功能的,从 5.6 版本后才加上了这个优化项。所以在引出索引下推前还是先回顾下没有这个功能时是怎样一种处理方式。我们以一个真实例子来进行讲解。在这里有张用户表 user,记录着用户的.原创 2021-03-16 15:16:18 · 643 阅读 · 0 评论