Sam_Deep_Thinking 2010-02-25 10:12
浏览 444
已采纳

有两个字段要频繁的查询,如何建立索引?

目前在A表中,有name和flag两个字段,
查询的时候比较固定,是根据name和flag这两个字段来判断A表中是否已经存在某条记录了,
如果存在的话,则更新,不存在则增加一条记录。sql语句如:
[color=red] where name like '%秦皇岛%' and flag = '1'[/color]
表中的记录以后将会是非常多的,所以想建立索引来提高查询效率。

还有一点就是,name字段中的值是有很多重复的,比如说,A表中有100条数据,那么有可能是:

name flag
石家庄 1
石家庄 2
石家庄 3
石家庄 4
秦皇岛 5
秦皇岛 6
秦皇岛 7
秦皇岛 8
保定市 1
保定市 2
保定市 3
保定市 4
.... ...

就是说name字段中的值还是比较有规律的,但是flag则是不定的。

问题如下:
如果我创建了索引的话,是不是要为name和flag这两个字段建立复合索引?

       或者说有什么更好的方式来建立索引?例如分别单独的为name和flag建立索引?
  • 写回答

3条回答

  • litianyi520 2010-02-25 15:55
    关注

    :o 你是秦皇岛人啊?

    简单和你说一下索引的问题
    索引 遵循左缀规则
    像你的这个问题 就建立联合索引就行

    name,flag

    你用mysql 的explain 就可以看到 你的sql 需要的索引了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入