关于索引影响性能的问题 在频繁变动的表上建立过多的索引会影响性能这个是知道的。但是如果索引是建立在不怎么变动的字段上,会不会影响呢?比如商品表,有名称,ID,数量三个字段。数量是经常变动的(几乎时刻都在update),但是名称和ID很少变化,这样的表只会偶尔增减记录而已,一天不超过10条。那么我在名称和ID上建立各种索引,会不会影响性能? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要看你的使用,不管是否频繁更新,索引过多都会引起存储空间、维护开销和非SELECT的DML操作的开销。但是一般来说,几乎所有应用系统的查询操作都远比更改多。既然你的列很少变动,那么它可以作为考虑,但是还要考虑数据类型、使用的时候是否频繁出现在WHERE、join中。简单来说:看使用方式而定 不update的字段上建立索引,也有问题索引变慢时索引碎片导致索引碎片造成,原因是索引根据其顺序插入数据超过了一页后进行页分割导致也就是说insert也会导致索引碎片除非你的新增数据是按照索引顺序增加的比如对一个varchar类型建立索引你insert新的语句总是按照 a,b,c,d,e的递增,那么你得这个索引将不存在碎片但你后续又会insert b,c那么当超过原有b,c所在页大小后,就会产生页分割,导致索引碎片 sql自定义一个全局变量 这个SQL怎么写?急急急 求一个sql语句 case小问题,散分啦! 棘手的问题,高分求解~ SQL2000中,字符串沒有超過8000為什么被截斷﹖ 两个数据库合并的问题 一个简单的表结构问题 请问SQL语句中的"<"为什么使得它不能执行,谢谢 求sql高手帮忙? 求救 SQL 一个存储过程调用多个存储过程 SQL数字格式化问题
索引变慢时索引碎片导致
索引碎片造成,原因是索引根据其顺序插入数据超过了一页后进行页分割导致
也就是说insert也会导致索引碎片
除非你的新增数据是按照索引顺序增加的
比如对一个varchar类型建立索引
你insert新的语句总是按照 a,b,c,d,e的递增,那么你得这个索引将不存在碎片
但你后续又会insert b,c那么当超过原有b,c所在页大小后,就会产生页分割,导致索引碎片