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

c网站开发视频教程/网站关键词排名查询

c网站开发视频教程,网站关键词排名查询,做网站需要些什么,建湖专业做网站的公司索引优化 where 字段、组合索引(最左前缀)、索引下推(非选择行 不加锁)、索引覆盖(不回表)、on两边、排序、分组…explain分析语句情况,看建立索引没,或者建立错误,响应…

索引优化

where 字段、组合索引(最左前缀)、索引下推(非选择行 不加锁)、索引覆盖(不回表)、on两边、排序、分组…explain分析语句情况,看建立索引没,或者建立错误,响应时间长的话可以看下慢查询日志

尽量不要用 *

查所有字段的话,select查询列中的字段如果没有索引的话,会造成回表

LIMIT优化

limit优化的特点是截断,就是可以停止全表扫描的,比如下面这个,肯定没走索引的,1000W条数据,就走了20条,截断了
在这里插入图片描述
原SQL
在这里插入图片描述
这种sql语句和索引都没关系了,可以对他进行优化,可以创建个索引或者利用主键索引(根据业务设计),利用索引的排序或者where条件快速定位和limit截断的能力,让他缩小扫描范围
在这里插入图片描述在这里插入图片描述
还可以利用小结果集关联大结果集

count优化

count () 找普通索引 ,找到最小的那棵树来遍历,包含空值(mysql优化其实现,5.6版本)
在这里插入图片描述
count(1)和count(id)都是找到最小的那颗索引树,因为innodb的聚集索引,非主键索引下面挂载的是id的值,所以会选择一个小的索引树,因为主键索引下面挂载的是行数据,比非主键索引还是要大些的
在这里插入图片描述
count(非索引字段),找不到索引树
在这里插入图片描述
前面这几个count,如果是count(
),不会将这个数据缓存起来,这是innodb的特点,count()都是临时计算。如果是count(字段)的话,是可以缓存的。count()包含了空值的,count(字段)没有包含空值,count(1)和count()是一样的,忽略字段,包含空值
在这里插入图片描述

不用 MySQL 内置的函数,因为内置函数不会建立查询缓存

比如: SELECT * FROM user where birthday = now();

其他的一些游优化
  • 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引
  • 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select * from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select * from t where num=0
  • 应尽量避免在 where 子句中使用!=或<>操作符,如果查询列中包含索引以外的字段,将引擎放弃使用索引而进行全表扫描
  • 应尽量避免在 where 子句中使用 or 来连接条件,如果查询列中包含索引以外的字段将导致引擎放弃使用索引而进行全表扫描,如: select * from t where num=10 or num=20 -->select * from t where num=10 union all select * from t where num=20
    在这里插入图片描述
  • like模糊查询时百分号在前面也要导致索引失效,这种情况可以建立组合索引,查询组合索引列
  • 应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如:select * from t where substring(name,1,3)=‘abc’–name以abc开头的id 应改为:select * from t where name like ‘abc%’
  • 不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引
  • 在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致
  • 并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用
  • 索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定
  • 一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要
  • 尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销,这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了
  • 尽可能的使用 varchar 代替 char ,因为首先变长字段存储空间小,可以节省存储空间, 其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些
  • 任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段
  • 避免频繁创建和删除临时表,以减少系统表资源的消耗
  • 临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使用导出表
  • 合适的情况编写存储过程,减少连接数据库的次数
http://www.jmfq.cn/news/5043385.html

相关文章:

  • 一个空间可以做两个网站吗/广州抖音seo
  • 网站建设支付方式/搜索引擎优化的目的是对用户友好
  • 商城网站建设code521/怎么自己做网页
  • 开远市住房和城乡建设局网站/百度关键词排名突然没了
  • 重庆企业网站开发/html网页制作成品
  • 中企动力唐山网站建设/玉林网站seo
  • 网站你懂我意思正能量免费下载/精准营销的成功案例
  • 如何做网站赌博的教程/信息流优化师怎么入行
  • 旅游网站开发的意义是什么/公众号如何推广引流
  • dw怎么做网站首页/电商广告网络推广
  • 短视频素材大全/南宁seo外包服务商
  • 深圳微信网站开发/上海品牌推广公司
  • 国内网站建设/如何用google搜索产品关键词
  • 盐城网站建设哪家快/网络营销案例实例
  • 云梦做网站/域名注册需要多少钱
  • 北京网站制作一般多少钱/360免费做网站
  • 电影宣传网站开发设计/论坛推广的步骤
  • 不会写代码怎么做网站/沈阳头条今日头条新闻最新消息
  • 1.86神华网站两学一做/中国网络营销公司排名
  • 网站怎么做rss/怎样申请网站
  • 营销型网站建设易网拓/百度快照首页
  • wordpress建站/刷排名有百度手机刷排名
  • 建网站电话/网站推广优化招聘
  • 东莞手机网站建设/谁有恶意点击软件
  • 网站建设内容保障制度/个人发布信息的免费平台
  • 珠海cp网站建设/人工智能培训师
  • 可以做两个网站指向同一个域名/惠州网站推广排名
  • 绵阳科技网站建设/注册网站平台
  • 淘宝网站做淘宝客/2022年最近十大新闻
  • 网站建设框架模板/今天新疆新闻头条