zoukankan      html  css  js  c++  java
  • 数据库结构的设计与如何最大限度的利用索引

    举个例子如一张消息表

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

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

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

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

    用时4.753 秒   

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

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

        Id 主键

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

        ChatMessageId  消息表Id

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

    接下来 我们看下分析

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

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

    以后设计数据库的时候不要老想的增加新的索引(除非写入和改变很少的情况下)  尽量利用自带的主键索引

  • 相关阅读:
    1001. 害死人不偿命的(3n+1)猜想 (15)
    单链表排序
    简单插入排序
    简单选择排序
    C语言-随机数
    二分查找(折半查找)
    顺序查找-顺序查找-带哨兵查找
    队列-链表实现
    循环队列_数组实现
    队列-顺序存储-简单实现
  • 原文地址:https://www.cnblogs.com/wzjbk/p/5618468.html
Copyright © 2011-2022 走看看