首页 
资讯中心 业内活动 行业人物 网站运营 站长商城 精品学院 站外休闲 关注汶川
特别专题 | 行业新闻 | 人物访谈 | 专栏作家 | 求职招聘 | 行业公司 | 网站名录 | 好站推荐 | 站长工具 | 站长大会
·包头首届站长大会 ·我区网站备案通道
·企业网站评比大赛 ·本站开展IDC托管
·内蒙古精品网址站 ·10秒即可成为写手
   当前位置:内蒙古IT实验室 内蒙古互联网实验室 内蒙古站长 >> 精品学院 >> 网络编程 >> PHP编程 >> 浏览文章
加速PHP动态网站 关于MySQL索引分析优化
作者:korn 来源:赛迪网 收藏: 投稿

  本文主要讲述了如何加速动态网站的MySQL索引分析和优化。 iSH中国教程在线

  一、什么是索引? iSH中国教程在线

  索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 iSH中国教程在线

  假设我们创建了一个名为people的表: iSH中国教程在线

  CREATE TABLE people ( peopleid SMALLINT NOT NULL, iSH中国教程在线

  name CHAR(50) NOT NULL );iSH中国教程在线

  然后,我们完全随机把1000个不同name值插入到people表。在数据文件中name列没有任何明确的次序。如果我们创建了name列的索引,MySQL将在索引中排序name列,对于索引中的每一项,MySQL在内部为它保存一个数据文件中实际记录所在位置的“指针”。因此,如果我们要查找name等于“Mike”记录的peopleid(SQL命令为“SELECT peopleid FROM people WHERE name='Mike';”),MySQL能够在name的索引中查找“Mike”值,然后直接转到数据文件中相应的行,准确地返回该行的peopleid(999)。在这个过程中,MySQL只需处理一个行就可以返回结果。如果没有“name”列的索引,MySQL要扫描数据文件中的所有记录,即1000个记录!显然,需要MySQL处理的记录数量越少,则它完成任务的速度就越快。 iSH中国教程在线

  二、索引的类型 iSH中国教程在线

  MySQL提供多种索引类型供选择: iSH中国教程在线

  普通索引 : iSH中国教程在线

  这是最基本的索引类型,而且它没有唯一性之类的限制。普通索引可以通过以下几种方式创建: iSH中国教程在线

  创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表); iSH中国教程在线

  修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表); iSH中国教程在线

  创建表的时候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) ); iSH中国教程在线

  唯一性索引: iSH中国教程在线

  这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。唯一性索引可以用以下几种方式创建: iSH中国教程在线

  创建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表); iSH中国教程在线

  修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表); iSH中国教程在线

  创建表的时候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表) ); iSH中国教程在线

  主键 : iSH中国教程在线

  主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”。如果你曾经用过AUTO_INCREMENT类型的列,你可能已经熟悉主键之类的概念了。主键一般在创建表的时候指定,例如“CREATE TABLE tablename ( [...], PRIMARY KEY (列的列表) ); ”。但是,我们也可以通过修改表的方式加入主键,例如“ALTER TABLE tablename ADD PRIMARY KEY (列的列表); ”。每个表只能有一个主键。 iSH中国教程在线

  全文索引: iSH中国教程在线

  MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的索引类型为FULLTEXT。全文索引可以在VARCHAR或者TEXT类型的列上创建。它可以通过CREATE TABLE命令创建,也可以通过ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或者CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。 

浏览:  


人支持

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
下一篇:没有了
 最新推荐
网智科技诚聘IT精英共创内蒙古IT事业
中国铁通并入中国移动 王建宙任集团总经理  
女子网上视频辱骂四川灾区人民被抓(图)
哀悼地震死难同胞网站变灰色
警方提醒市民:有些捐款救援短信是骗局
网络捐赠成最快方式 支付宝捐赠通道开通
四川汶川发生地震 百度贴吧网友6分钟内播报
紫金山科技杨凤彦经理谈DIY
关于地震的消息最早从那里获得,QQ群?
网站运营专家——黄相如
 相关文章
  • 暂无相关链接
  •  文章评论:
     最新文章
    加速PHP动态网站 关于MySQL索引分析优化
    PHP程序不实用大型系统的九大原因  
    如何使用PHP程序开发高效的WEB网络系统
    PHP上演“草根的革命”开源进军主流应用
    脚本语言必学-PHP精选编程电子书下载
     编辑推荐
    网智科技诚聘IT精英共创内蒙古IT事业
    中国铁通并入中国移动 王建宙任集团总经理  
    女子网上视频辱骂四川灾区人民被抓(图)
    哀悼地震死难同胞网站变灰色
    警方提醒市民:有些捐款救援短信是骗局
    网络捐赠成最快方式 支付宝捐赠通道开通
    四川汶川发生地震 百度贴吧网友6分钟内播报
    紫金山科技杨凤彦经理谈DIY
    关于地震的消息最早从那里获得,QQ群?
    网站运营专家——黄相如
     热门排行
    哀悼地震死难同胞网站变灰色
    北京市有望在IT行业试行在家办公
    谁来保护弱势站长群体的信息安全?
    IT实验室2007年度网络宣传大事例
    访谈:客齐集员工—内蒙古小伙儿姜丰波
    北方新报做媒 一对网络情侣喜结良缘
    3158商机网与IT实验室08元旦联谊活动MTV
    IT实验室与3158商机网元旦活动
    震撼世界!2008年互联网趋势预测
    邢明:明后两年将是互联网的社区年
     
    孵化网站:
    内蒙古文学网 内蒙古医药网 内蒙古网络广告网 内蒙古旅游在线 内蒙古家居装饰网 内蒙古汽车网 新闻网博客频道 婴幼儿保健网
    内蒙古好网 内蒙古房产网 内蒙古拼客 内蒙古大学生网 内蒙古物流网          
    合作伙伴:
    内蒙古新闻网 图吧 飞普科技 盛开元广告 人间指南 内蒙古商报 乌海在线 互联网实验室 中国网站排名  
    合作媒体:
    DoNews IT中国 站长网 落伍者 中国站长站 AdminTech 内蒙古新闻网 北方新报 内蒙古晨报 内蒙古商报 呼和浩特晚报
    友情链接:
    内蒙古电子杂志网内蒙古第一站BIOS之家子寒热点互联网分享IT每一天山西站长网
    内蒙古动漫电影网阿尔山旅游网山炮摇滚视频网草原论坛中国生活指南网IT技术部呼和浩特人才网
    内蒙古拍易拍信息网串串网站导航站长中国网读书志九上网导航 罗伊-电子商务信息网络安全调查
    计算机病毒处理中心鄂尔多斯之窗内蒙信息港内蒙信息网包头热线河套生活网塞外传媒网
    青城之恋包头移动公寓网酷博网内蒙古生活信息呼和浩特餐饮娱乐网包头大学生网7度POP网
    呼和浩特热线蒙古文化媒体网IT动力源呼和浩特好评网牧人部落呼伦贝尔旅游网
    关于本站 - 业务合作 - 广告合作 - 联系站长 - 设为首页 - 加入收藏 - 友情连接 - 雁过留声
    内蒙古IT实验室 版权所有 蒙ICP备05002086
    本站特约顾问:资深的互联网专家黄相如
    Copyright(C) 2008 NmgLabs.com All Rights Reserved