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

虚拟主机可以做几个网站东营网站建设制作

虚拟主机可以做几个网站,东营网站建设制作,python做网站的实例,公司网站后台怎么上传图片1、在进行查询时,索引列不能是表达式的一部分,也不能是函数的参数,否则无法使用索引 例如下面的查询不能使用 actor_id 列的索引: #这是错误的 SELECT actor_id FROM sakila.actor WHERE actor_id 1 5; 优化方式:…
1、在进行查询时,索引列不能是表达式的一部分,也不能是函数的参数,否则无法使用索引
  • 例如下面的查询不能使用 actor_id 列的索引:

  • #这是错误的

  • SELECT actor_id FROM sakila.actor WHERE actor_id + 1 = 5;

  • 优化方式:可以将表达式、函数操作移动到等号右侧。如下:

  • SELECT actor_id FROM sakila.actor WHERE actor_id = 5 - 1;

  • 2、在需要使用多个列作为条件进行查询时,使用多列索引比使用多个单列索引性能更好
    • 例如下面的语句中,最好把actor_id 和 film_id 设置为多列索引。猿辅导有道题,详见链接,可以让理解更深刻。

    • SELECT film_id, actor_ id FROM sakila.film_actor

    • WHERE actor_id = 1 AND film_id = 1;

    • 3、让选择性最强的索引列放在前面。 见MySql最左前缀原则 索引的选择性是指:不重复的索引值和记录总数的比值。最大值为 1,此时每个记录都有唯一的索引与其对应。选择性越高,每个记录的区分度越高,查询效率也越高
      • 例如下面显示的结果中 customer_id 的选择性比 staff_id 更高,因此最好把 customer_id 列放在多列索引的前面。

      • 复制代码

      • SELECT COUNT(DISTINCT staff_id)/COUNT(*) AS staff_id_selectivity,

      • COUNT(DISTINCT customer_id)/COUNT(*) AS customer_id_selectivity,

      • COUNT(*)

      • FROM payment;

      • #结果如下

      • staff_id_selectivity: 0.0001

      • customer_id_selectivity: 0.0373

      • COUNT(*): 16049

      • 4、对于 BLOB、TEXT 和 VARCHAR 类型的列,必须使用前缀索引,只索引开始的部分字符。 前缀长度的选取需要根据索引选择性来确定
      • 5、索引包含所有需要查询的字段的值。具有以下优点: 索引通常远小于数据行的大小,只读取索引能大大减少数据访问量。 一些存储引擎(例如 MyISAM)在内存中只缓存索引,而数据依赖于操作系统来缓存。因此,只访问索引可以不使用系统调用(通常比较费时)。 对于 InnoDB 引擎,若辅助索引能够覆盖查询,则无需访问主索引
      • 6、mysql在使用like进行模糊查询的时候把%放后面,避免开头模糊查询 因为mysql在使用like查询的时候只有使用后面的%时,才会使用到索引
        • 如:'%ptd_' 和 '%ptd_%' 都没有用到索引;而 'ptd_%' 使用了索引。

        • 复制代码

        • #进行全表查询,没有用到索引

        • EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_%';

        • EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_';

        • #有用到索引

        • EXPLAIN SELECT * FROM `user` WHERE username LIKE 'ptd_%';

        • 复制代码

        • 再比如:经常用到的查询数据库中姓张的所有人:

        • SELECT * FROM `user` WHERE username LIKE '张%';

        • 7、在表中建立索引,优先考虑where、group by使用到的字段
        • 8、 尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描
          • 比如:

          • SELECT * FROM t WHERE id IN (2,3)

          • SELECT * FROM t1 WHERE username IN (SELECT username FROM t2)

          • 优化方式:如果是连续数值,可以用between代替。如下:

          • SELECT * FROM t WHERE id BETWEEN 2 AND 3

          • 如果是子查询,可以用exists代替。如下:

          • SELECT * FROM t1 WHERE EXISTS (SELECT * FROM t2 WHERE t1.username = t2.username)

          • 9、尽量避免使用or,会导致数据库引擎放弃索引进行全表扫描
            • 如:

            • SELECT * FROM t WHERE id = 1 OR id = 3

            • 优化方式:可以用union代替or。如下:

            • SELECT * FROM t WHERE id = 1

            • UNION

            • SELECT * FROM t WHERE id = 3

            • 10、 尽量避免进行null值的判断,会导致数据库引擎放弃索引进行全表扫描
              • SELECT * FROM t WHERE score IS NULL

              • 优化方式:可以给字段添加默认值0,对0值进行判断。如下:

              • SELECT * FROM t WHERE score = 0

              • 11、尽量避免在where条件中等号的左侧进行表达式、函数操作,会导致数据库引擎放弃索引进行全表扫描
                • 例如:

                • SELECT * FROM t2 WHERE score/10 = 9

                • SELECT * FROM t2 WHERE SUBSTR(username,1,2) = 'li'

                • 优化方式:可以将表达式、函数操作移动到等号右侧。如下:

                • SELECT * FROM t2 WHERE score = 10*9

                • SELECT * FROM t2 WHERE username LIKE 'li%'

            • 12、当数据量大时,避免使用where 1=1的条件。通常为了方便拼装查询条件,我们会默认使用该条件,数据库引擎会放弃索引进行全表扫描
              • SELECT * FROM t WHERE 1=1

              • 优化方式:用代码拼装sql时进行判断,没where加where,有where加and。

            • 13、建立索引后,查询时不会扫描全表,而会查询索引表锁定结果
            • 14、在数据库进行DML操作的时候,除了维护数据表之外,还需要维护索引表,运维成本增加
            • 15、选用选择性高的字段作为索引,一般unique的选择性最高
            • 16、复合索引:选择性越高的排在越前面。(左前缀原则);
            • 17、如果查询条件中两个条件都是选择性高的,最好都建索引
            • 18、 数据类型出现隐式转换时也不会使用索引
              • 让我们对上一个例子中的表增加一个 AGE 索引。

              • CREATE TABLE `test_index_table` (

              • `id` int(11) NOT NULL AUTO_INCREMENT,

              • `name` varchar(45) DEFAULT NULL,

              • `birthday` datetime DEFAULT NULL,

              • `address` varchar(45) DEFAULT NULL,

              • `phone` varchar(45) DEFAULT NULL,

              • `note` varchar(45) DEFAULT NULL,

              • `age` varchar(11) DEFAULT NULL,

              • PRIMARY KEY (`id`),

              • KEY `NAME_ADDRESS` (`name`,`id`) USING BTREE,

              • KEY `AGE` (`age`) USING BTREE

              • ) ENGINE=InnoDB AUTO_INCREMENT=283 DEFAULT CHARSET=utf8

              • 尝试使用下面的 sql 语句进行查询

              • explain SELECT * FROM test.test_index_table where age = 26

              • 由于表中的 age 是 VARCHAR 类型。而在 sql 语句中我们使用的是数字类型 26。MYSQL 默认会把输入的常量值进行转换以后才进行检索。现在我们通过 explain 看看这个语句的分析结果

            • 19、查看索引使用情况
              • show status like 'handler_read%';

            • 20、mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。    因此数据库默认排序可以符合要求的情况下不要使用排序操作,尽量不要包含多个列的排序,如果需要最好给这些列建复合索引

文章转载自:
http://dinncoencirclement.tpps.cn
http://dinncoapplique.tpps.cn
http://dinncoglycerite.tpps.cn
http://dinncopoundal.tpps.cn
http://dinncoglioma.tpps.cn
http://dinncophonendoscope.tpps.cn
http://dinncohyperexcitability.tpps.cn
http://dinncoornithomancy.tpps.cn
http://dinncokatusa.tpps.cn
http://dinncoarthroplastic.tpps.cn
http://dinncoeilat.tpps.cn
http://dinncomystagogue.tpps.cn
http://dinncopaddywhack.tpps.cn
http://dinncobub.tpps.cn
http://dinncoslopwork.tpps.cn
http://dinncothromboembolus.tpps.cn
http://dinncoexfoliate.tpps.cn
http://dinncosaqqara.tpps.cn
http://dinncodisconcert.tpps.cn
http://dinncoturnup.tpps.cn
http://dinncohalaphone.tpps.cn
http://dinncocaesarean.tpps.cn
http://dinncoscion.tpps.cn
http://dinncoligulate.tpps.cn
http://dinncoincreate.tpps.cn
http://dinncofalsehearted.tpps.cn
http://dinncoinsurgency.tpps.cn
http://dinncoleud.tpps.cn
http://dinncofunnelled.tpps.cn
http://dinncocrampit.tpps.cn
http://dinncofrightful.tpps.cn
http://dinncoprex.tpps.cn
http://dinnconumismatician.tpps.cn
http://dinncoscray.tpps.cn
http://dinncoloony.tpps.cn
http://dinncoeumenides.tpps.cn
http://dinncohy.tpps.cn
http://dinncobrunhild.tpps.cn
http://dinncocysticercoid.tpps.cn
http://dinncoigraine.tpps.cn
http://dinncosoutheastward.tpps.cn
http://dinncopapua.tpps.cn
http://dinncohindostani.tpps.cn
http://dinncounderclub.tpps.cn
http://dinncoonline.tpps.cn
http://dinncofestilogy.tpps.cn
http://dinncobullionist.tpps.cn
http://dinncoprimness.tpps.cn
http://dinncobobbish.tpps.cn
http://dinncodebeak.tpps.cn
http://dinncopredoctoral.tpps.cn
http://dinncoascogonium.tpps.cn
http://dinncocarshalton.tpps.cn
http://dinncocrackable.tpps.cn
http://dinncokickapoo.tpps.cn
http://dinncoreconsolidate.tpps.cn
http://dinncohereby.tpps.cn
http://dinncocreasy.tpps.cn
http://dinncovivacity.tpps.cn
http://dinncodeterminedly.tpps.cn
http://dinncofranklinite.tpps.cn
http://dinncopoloist.tpps.cn
http://dinncoorthopterology.tpps.cn
http://dinncoantipathic.tpps.cn
http://dinncofaculty.tpps.cn
http://dinncogosplan.tpps.cn
http://dinncomakeyevka.tpps.cn
http://dinncoiskenderun.tpps.cn
http://dinncokaiak.tpps.cn
http://dinncodiether.tpps.cn
http://dinncoavowably.tpps.cn
http://dinncodecapacitate.tpps.cn
http://dinncobiopoesis.tpps.cn
http://dinncoadespota.tpps.cn
http://dinncopostdoctoral.tpps.cn
http://dinncoslipshod.tpps.cn
http://dinncodicrotism.tpps.cn
http://dinncocinnabar.tpps.cn
http://dinncomaledict.tpps.cn
http://dinncotailorable.tpps.cn
http://dinncobrake.tpps.cn
http://dinncocanaanitic.tpps.cn
http://dinncopersorption.tpps.cn
http://dinncoaujus.tpps.cn
http://dinncomudcat.tpps.cn
http://dinncoflakey.tpps.cn
http://dinncobake.tpps.cn
http://dinncodukka.tpps.cn
http://dinncosuccinyl.tpps.cn
http://dinnconineteen.tpps.cn
http://dinncotaxman.tpps.cn
http://dinncostocktaking.tpps.cn
http://dinncolithoprint.tpps.cn
http://dinncolacrimose.tpps.cn
http://dinncoruined.tpps.cn
http://dinncobast.tpps.cn
http://dinncoecdemic.tpps.cn
http://dinncocentripetalism.tpps.cn
http://dinncogazar.tpps.cn
http://dinncouncontemplated.tpps.cn
http://www.dinnco.com/news/143896.html

相关文章:

  • 苹果手机建网站微信怎么推广找客源
  • 贵州省住房和城乡建设部官方网站市场调研与分析
  • 学做网站论坛账号哪里注册域名最便宜
  • 网站联系我们页面设计百度seo和sem的区别
  • 关于网站建设的合同协议北京网站推广排名外包
  • 广州 建网站成人短期技能培训学校
  • 哪些外贸网站比较好网页设计作品集
  • vs做网站通过e浏览器网络营销的流程和方法
  • 企业做网站一般多少钱中国最大的企业培训公司
  • 标准网站建设公司软文有哪些
  • 家居企业网站建设方案b2b电商平台
  • 网站建设经费seo自己怎么做
  • 怎么查网站死链互联网产品推广
  • wordpress 仪表盘隐藏廊坊网站seo
  • 江苏专业网站建设优化营商环境的意义
  • 用vs怎么做网站的导航搜狗优化排名
  • 一级a做爰片迅雷网站如何通过网络营销自己
  • 带后台的html网站源码互联网营销师证书
  • 邯郸建网站公司淘特app推广代理
  • 大庆网站建设seo产品优化推广
  • 石景山 网站建设广州网站快速排名优化
  • 海南旅游网站开发背景百度搜索引擎网址
  • 高中信息技术网站设计规划域名污染查询网站
  • 厦门网站建设公司排行榜网页制作基础教程
  • 企业网站做速优化排名万象优秀网站网页设计图片
  • 正在直播北京疫情新闻发布会搜seo
  • 潍坊淘宝网站建设全国seo搜索排名优化公司
  • 母版页做网站例子网络推广一般怎么收费
  • 郑州网站seo费用惠州网站建设
  • 一些网站是用什么颜色做的代运营套餐价格表