安静
PHP技术博客

110810 请建立索引

索引灾难:

因为没有建索引发生的SQL灾难太多了,比如说最近公司就发生了一起,实际上 数据量也不是很大,但就引起了程序反应迟钝,导致用户与运营不满意,

150W数据来说相对还是比较少的,但每次查询损耗大概在0.5秒-1秒之间。再绑定了触发器,导致一次更新用户帐户 就会好时1-2秒,复杂数据更新会导致
长时间卡住无法返回。

索引添加SQL:

CREATE INDEX ob_cmd_11x
ON table_name(server_id, game_name_id);

ob_cmd_11x 索引名
table_name 索引所加载的表
server_id, game_name_id 一般查询条件中使用到的字段

PS: 150w+数据大概执行时间5-10秒 看服务器性能 比如说 16核的 你懂的 。。 5-8秒

索引:
是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

索引 – 类型:

根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。有关数据库所支持的索引功能的详细信息,请参见数据库文档。
提示:尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。
唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引。
当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在employee表中职员的姓(lname)上创建了唯一索引,则任何两个员工都不能同姓。
主键索引
数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。
聚集索引
在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。
如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。

索引更多阅读:

http://www.hudong.com/wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B4%A2%E5%BC%95

http://www.cnblogs.com/KissKnife/archive/2009/03/30/1425534.html

赞(0) 打赏
未经允许不得转载:AJ's Blog » 110810 请建立索引
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏