-
数据表结构优化 第三范式:要求数据库中不存在非关键字段对任意候选关键字的传递函数依赖 不符合第三范式要求的表存在以下问题: 1.数据冗余:(分类、分类描述)对于每一个商品都会进行记录 2.数据插入异常 3.数据更新异常 4.数据删除异常查看全部
-
使用bigint 存储ip地址INET_ATON INET_NTOA查看全部
-
使用int类型存储日期时间,利用FROM_UNIXTIME(),UNIX_TIMESEAMP()两个函数转换查看全部
-
冗余索引(将已经建立索引的列又和另外一个列一起组合创建了一个索引)如下图所示:查看全部
-
过多的索引不但影响写入,而且影响查询,索引越多,分析越慢 如何找到重复和多余的索引,主键已经是索引了,所以primay key 的主键不用再设置unique唯一索引了 冗余索引,是指多个索引的前缀列相同,innodb会在每个索引后面自动加上主键信息 冗余索引查询工具 pt-duplicate-key-checker查看全部
-
选择合适的索引列<br> 1.在where,group by,order by,on从句中出现的列<br> 2.索引字段越小越好(因为数据库的存储单位是页,一页中能存下的数据越多越好 )<br> 3.离散度大得列放在联合索引前面<br> select count(distinct customer_id), count(distinct staff_id) from payment;<br> 查看离散度 通过统计不同的列值来实现 count越大 离散程度越高 离散度,我的理解就是唯一性了,比如主键,绝对是离散度最大的,而一些用来标识状态标识的列,基本只有几个可选项,离散度就很小查看全部
-
优化步骤2: 使用这种方式有一个限制,就是主键一定要顺序排序和连续的,如果主键出现空缺可能会导致最终页面上显示的列表不足5条,解决办法是附加一列,保证这一列是自增的并增加索引就可以了查看全部
-
使用索引或者主键来进行order by操作查看全部
-
对于子查询的优化,可以优化成为join方式查询, 但是这样子查询的话如果是一对多的关系,那么就要注意去重, 可以用distinct关键字去重查看全部
-
count(列名)统计的是不包括NULL在内的行数,而count(*)则是统计所有,所以为了包含NULL,在写法上应该是count(列名 OR NULL)查看全部
-
1.对max()查询,可以为表创建索引,create index index_name on table_name(column_name 规定需要索引的列),然后在进行查询 2.count()对多个关键字进行查询,比如在一条SQL中同时查出2006年和2007年电影的数量,语句: select count(release_year='2006' or null) as '2006年电影数量', count(release_year='2007' or null) as '2007年电影数量' from film; 3.count(*) 查询的结果中,包含了该列值为null的结果查看全部
-
mysql优化explain查看全部
-
Mysql优化 explain查看全部
-
mysql优化explain查看全部
-
通过慢查询分析需要优化的sql查看全部
举报
0/150
提交
取消