您的位置:首页 > 数据库

数据库结构的设计与如何最大限度的利用索引

2016-06-26 20:03 316 查看
举个例子如一张消息表

结构如些 Id (自增主键) Content(内容) UserId(说话人Id) IsWonderful(是否是精彩发言) Top(是否置顶) IsBarrage( 是否是弹幕)

当这个结构的表 数据还少时取 经常发言 置顶发言 和弹幕 速度比较快

但是数据一多 30多万条的时候查找数据



37w条数据 中查找经常发言



用时4.753 秒

虽然加上索引之后可以找0.1秒钟找到数据 但是每加一个索引 写入速度就变慢一点 后面还有 弹幕置顶也要查找 岂不是都要加索引 这样写入非常慢尤其是这样表写入频繁的情况下,更说明这张表的设计有很大的问题

这样时候在在建一张表 结构是

    Id 主键

Type 类型 1-精彩发言 2-置顶,3-弹幕

    ChatMessageId 消息表Id



接下来 用事实验证的时候了



接下来 我们看下分析



完美的利用了已经存在的主键索引

在37w条数据 中找到经常发言只用了0.0001秒 而且也没增加新的索引 怎么看到这里是不是若有所思了

以后设计数据库的时候不要老想的增加新的索引(除非写入和改变很少的情况下) 尽量利用自带的主键索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: