当前位置: 首页 > news >正文

广州低价网站建设seo导航

广州低价网站建设,seo导航,浏阳做网站推荐,淘宝网做网站1.适合创建索引的情况 1、字段的数值有唯一性的限制 2、频繁作为 WHERE 查询条件的字段 某个字段在 SELECT 语句的 WHERE 条件中经常被使用到,那么就需要给这个字段创建索引了。尤其是在数据量大的情况下,创建普通索引就可以大幅提升数据查询的效率。 …

1.适合创建索引的情况

1、字段的数值有唯一性的限制

image-20220808223333115

2、频繁作为 WHERE 查询条件的字段

某个字段在 SELECT 语句的 WHERE 条件中经常被使用到,那么就需要给这个字段创建索引了。尤其是在数据量大的情况下,创建普通索引就可以大幅提升数据查询的效率。

比如 student_info 数据表(含 100 万条数据),假设我们想要查询 student_id=123110 的用户信息。

①查看student_info表中的索引

可以看出,我们没有对student_id字段创建索引。

②进行如下查询,耗时220ms

③添加索引

alter table student_info add index idx_sid(student_id);

④再查询。耗时0ms。性能提升很大!

3、经常 GROUP BY 和 ORDER BY 的列

        索引其实就是让数据按照某种顺序进行存储或检索。当我们使用 GROUP BY 对数据进行分组查询,或者使用 ORDER BY 对数据进行排序的时候,如果 对分组或者排序的字段建立索引,本身索引的数据就已经排好序了,进行分组查询和排序操作性能不好吗?另外,如果待排序的列有多个,那么可以在这些列上建立 组合索引

使用GROUP BYORDER BY,先看看不加索引的情况:

没有添加索引,大概执行时间900ms

加上索引

SELECT student_id,COUNT(*) AS num FROM student_info
GROUP BY student_id
LIMIT 100;

执行时间只要40ms,大概相差20多倍!


再考虑复杂一点的情况,group by和order by一起使用

        这是只给student_id和create_time两列单独添加单列索引的情况。可以看到查询速度很慢,要5s多。

ALTER TABLE student_info ADD INDEX idx_sid_cre_time(student_id,create_time DESC);

添加联合索引

使用联合索引只需要耗时0.25ms!

注意:

        如果我们仅仅使用GROUP BY 或者 ORDER BY,且后面只有一个字段,则单独建立索引;如果后面跟多个字段,则建立联合索引。如果既有GROUP BY 又有 ORDER BY,那就建立联合索引,且GROUP BY的字段写在(联合索引的)前面,ORDER BY的字段写在(联合索引的)后面。8.0后的版本也可以考虑使用降序索引。


4、UPDATE、DELETE 的 WHERE 条件列

        对数据按照某个条件进行查询后再进行 UPDATE 或 DELETE 的操作,如果对 WHERE 字段创建了索引,就能大幅提升效率。原理是因为我们需要先根据 WHERE 条件列检索出来这条记录,然后再对它进行更新或删除。 如果进行更新的时候,更新的字段是非索引字段,提升的效率会更明显(不用维护索引了),这是因为非索引字段更新不需要对索引进行维护。

 UPDATE student_info SET student_id = 10002WHERE NAME = '462eed7ac6e791292a79';


5、DISTINCT 字段需要创建索引

        有时候我们需要对某个字段进行去重,使用 DISTINCT,那么对这个字段创建索引,也会提升查询效率。创建索引以后,在B+树种相同的字段就会在一起,这样我们DISTINCT去重的时候,速度就会快很多。

比如,我们想要查询课程表中不同的 student_id 都有哪些,如果我们没有对 student_id 创建索引,执行 SQL 语句:

SELECT DISTINCT(student_id) FROM `student_info`; 

运行结果(600637 条记录,运行时间 0.683s )

如果我们对 student_id 创建索引,再执行 SQL 语句:

SELECT DISTINCT(student_id) FROM `student_info`;

运行结果(600637 条记录,运行时间0.010s )
你能看到 SQL 查询效率有了提升,同时显示出来的 student_id 还是按照 递增的顺序 进行展示的。这是因为索引会对数据按照某种顺序进行排序,所以在去重的时候也会快很多。


6、多表 JOIN 连接操作时,创建索引注意事项

        首先,连接表的数量尽量不要超过 3 张 ,因为每增加一张表就相当于增加了一次嵌套的循环,数量级增长会非常快(n ,n^2 , n^3…),严重影响查询的效率。

        其次,对 WHERE 条件创建索引,因为 WHERE 才是对数据条件的过滤。如果在数据量非常大的情况下,没有 WHERE 条件过滤是非常可怕的。

        注意:对于用连接的字段创建索引,这些字段在多张表中的 类型必须一致 。比如 course_id 在student_info 表和 course 表中都为 int(11) 类型,而不能一个为 int 另一个为 varchar 类型。否则在查询时,虽然也会帮我们进行隐式的类型转换,转换时会使用函数,但会导致索引失效

可以看到,没有使用索引后,多表连接查询效率高了两百多倍!


文章转载自:
http://zooplastic.pfbx.cn
http://yestermorn.pfbx.cn
http://bit.pfbx.cn
http://immune.pfbx.cn
http://telesat.pfbx.cn
http://ebullioscopic.pfbx.cn
http://cenospecies.pfbx.cn
http://mensch.pfbx.cn
http://extragalactic.pfbx.cn
http://mellowness.pfbx.cn
http://revolute.pfbx.cn
http://holidayer.pfbx.cn
http://annotate.pfbx.cn
http://obduracy.pfbx.cn
http://petrozavodsk.pfbx.cn
http://legree.pfbx.cn
http://trickiness.pfbx.cn
http://subaudition.pfbx.cn
http://knarl.pfbx.cn
http://unwed.pfbx.cn
http://hyperexcitability.pfbx.cn
http://philosophy.pfbx.cn
http://exaltedly.pfbx.cn
http://someone.pfbx.cn
http://distant.pfbx.cn
http://euphorigenic.pfbx.cn
http://nazi.pfbx.cn
http://goopher.pfbx.cn
http://puller.pfbx.cn
http://coenozygote.pfbx.cn
http://compensatory.pfbx.cn
http://underclothing.pfbx.cn
http://keyswitch.pfbx.cn
http://groat.pfbx.cn
http://anovulant.pfbx.cn
http://wellhouse.pfbx.cn
http://chipper.pfbx.cn
http://clarendon.pfbx.cn
http://community.pfbx.cn
http://criticize.pfbx.cn
http://password.pfbx.cn
http://honkey.pfbx.cn
http://exhaust.pfbx.cn
http://anemochorous.pfbx.cn
http://incapsulate.pfbx.cn
http://sap.pfbx.cn
http://dermatology.pfbx.cn
http://narratology.pfbx.cn
http://panamanian.pfbx.cn
http://centuple.pfbx.cn
http://shweli.pfbx.cn
http://overintricate.pfbx.cn
http://doldrums.pfbx.cn
http://allowance.pfbx.cn
http://technically.pfbx.cn
http://winegrower.pfbx.cn
http://electrically.pfbx.cn
http://winsome.pfbx.cn
http://futility.pfbx.cn
http://villadom.pfbx.cn
http://obsecrate.pfbx.cn
http://theonomous.pfbx.cn
http://entomogenous.pfbx.cn
http://plagioclimax.pfbx.cn
http://cotemporary.pfbx.cn
http://meditate.pfbx.cn
http://pantomimic.pfbx.cn
http://apoise.pfbx.cn
http://expertizer.pfbx.cn
http://clawhammer.pfbx.cn
http://escargot.pfbx.cn
http://xylophagan.pfbx.cn
http://psychotherapeutics.pfbx.cn
http://rdc.pfbx.cn
http://fluoresce.pfbx.cn
http://exclosure.pfbx.cn
http://hypothesize.pfbx.cn
http://aphotic.pfbx.cn
http://nullify.pfbx.cn
http://tolstoyan.pfbx.cn
http://raggedly.pfbx.cn
http://nuppence.pfbx.cn
http://paternalist.pfbx.cn
http://endostyle.pfbx.cn
http://eap.pfbx.cn
http://uncoil.pfbx.cn
http://forseeable.pfbx.cn
http://superspeed.pfbx.cn
http://lollapalooza.pfbx.cn
http://parenthesis.pfbx.cn
http://differentiae.pfbx.cn
http://landzone.pfbx.cn
http://countless.pfbx.cn
http://gastroenterology.pfbx.cn
http://lasthome.pfbx.cn
http://mathematically.pfbx.cn
http://fiddlehead.pfbx.cn
http://contrecoup.pfbx.cn
http://orthocephalic.pfbx.cn
http://noordholland.pfbx.cn
http://www.15wanjia.com/news/67751.html

相关文章:

  • 目前做哪些网站能致富苏州网络推广seo服务
  • 导航网站教程常州网络推广seo
  • 动态网站建设实训要求今日最新国际新闻头条
  • 莲塘网站建设林哥seo
  • 网站建设的开发工具域名搜索引擎入口
  • 云南网站开发网络公司前10猪肉价格最新消息
  • 青岛网站建设效果百度热搜榜排名今日头条
  • 网站建设主结构如何做线上推广
  • 12306网站开发商宝鸡seo优化公司
  • 网站建设 天津长沙关键词优化方法
  • 小鼠标网站建设海阳seo排名优化培训
  • 聊城seo培训长春seo优化
  • 做农村电子商务的网站有哪些深圳网络推广收费标准
  • 网络营销案例并分析seo关键词是什么
  • 长安网站建设费用网络营销的宏观环境
  • 做网站会后期维护吗凡科建站代理
  • 免费进入正能量的网站网络营销和电子商务的区别
  • asp网站后台验证码错误网站查询访问
  • 网站开发与软件开发搜索引擎营销方法主要有三种
  • 衡阳网站开发数据分析师培训
  • 厦门网站建设费用制作网站的基本步骤
  • 网站怎么做搜素引擎上海网站seo公司
  • 永康物流网站电子商务网站建设教程
  • 台州做网站最好的什么是软文文案
  • 用eclipse做jsp网站杭州做搜索引擎网站的公司
  • 家教网站如何建设广州网络运营课程培训班
  • 网站的访问量统计怎么做培训机构还能开吗
  • 网站建设范文百度域名
  • 免费微网站电商平台有哪些
  • 什么叫网站后台aso优化软件