表连接不宜太多,索引不宜太多,一般5个以内

简介: 表连接不宜太多,索引不宜太多,一般5个以内

1、表连接不宜太多,一般5个以内

关联的表个数越多,编译的时间和开销也就越大

每次关联内存中都生成一个临时表

应该把连接表拆开成较小的几个执行,可读性更高

如果一定需要连接很多表才能得到数据,那么意味着这是个糟糕的设计了

阿里规范中,建议多表联查三张表以下

2、索引不宜太多,一般5个以内

索引并不是越多越好,虽其提高了查询的效率,但却会降低插入和更新的效率;

索引可以理解为一个就是一张表,其可以存储数据,其数据就要占空间;

索引表的数据是排序的,排序也是要花时间的;

insert或update时有可能会重建索引,如果数据量巨大,重建将进行记录的重新排序,所以建索引需要慎重考虑,视具体情况来定;

一个表的索引数最好不要超过5个,若太多需要考虑一些索引是否有存在的必要;

相关文章
|
3月前
|
关系型数据库 MySQL 定位技术
解谜MySQL索引:优化查询速度的不二法门
解谜MySQL索引:优化查询速度的不二法门
42 0
|
关系型数据库 MySQL 索引
一个表中索引的数量是不是越多越好?
往InnoDB表新增数据时,都会基于主键给自动建立聚簇索引。 随着我们不停的在表里插入数据,会不停的在数据页里插入数据。一个数据页放满后,就会分裂成多个数据页,这时就需要索引页去指向各个数据页。
113 0
|
存储 索引
十四、表连接不宜太多,索引不宜太多,一般5个以内
十四、表连接不宜太多,索引不宜太多,一般5个以内
128 0
|
存储 SQL 算法
别再一知半解啦!索引其实就这么回事!
别再一知半解啦!索引其实就这么回事!
别再一知半解啦!索引其实就这么回事!
|
SQL 关系型数据库 MySQL
【MySQL优化】避免索引失效的十个关键点,你都知道那些?
【MySQL优化】避免索引失效的十个关键点,你都知道那些?
374 1
|
存储 SQL 缓存
为什么索引可以让查询变快?终于有人说清楚了!
上表是一张真实的数据库表,其中每一行是一条记录,每条记录都有字段。假设上面的数据库是一个有10万条记录的大数据库。现在,我们想从10万条记录中搜索一些内容,那么挨着一个一个搜索无疑将花费很长的时间,这个时候我们在数据结构与算法里学的二分查找法就派上了用场。
为什么索引可以让查询变快?终于有人说清楚了!
|
架构师 关系型数据库 MySQL
两类非常隐蔽的全表扫描,不能命中索引(一分钟系列)
两类隐蔽的不能利用索引的case: (1)表列类型,与where值类型,不一致; (2)join表的字符编码不同;
423 0
两类非常隐蔽的全表扫描,不能命中索引(一分钟系列)
|
SQL 索引
|
SQL 关系型数据库 MySQL
巧用这19条MySQL优化,效率至少提高3倍
1、EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划 type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。 key列,使用到的索引名。
1388 0
初生月儿明处少
初月儿明处少,又被浮云遮蔽了。香消烛灭心静悄,夜迢迢,难睡着,窗儿外雨打芭蕉。 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
1062 0