ICode9

精准搜索请尝试: 精确搜索
  • MYSQL语句优化总结2021-10-27 17:34:17

    1.不在任何索引列上做计算,函数操作 这样会导致索引失效。 2.遵循最左原则 3.范围查询的列放在最右侧 这句话的意思是在联合索引中,如果一个列是做精准查询的,另一个列是做范围查询的,那把精准查询的列放在最左边,这样最左原则的效率更高。 4.覆盖索引尽量用 5.!=要慎用 结合前面

  • 记一次Mysql不走日期字段索引的原因2021-10-22 10:03:39

    背景 在一个表中,dataTime字段设置是varchar类型,存入的数据是日期格式的数据,并且为该字段设置了索引。但是在日志记录中,有一条关于该表的慢查询。查询语句为: select * from digitaltwin_meteorological where dataTime > '2021-10-15'; explain分析sql语句,发现sql语句执行了

  • 长这么大这个 MySQL bug 让我大开眼界2021-10-21 14:00:00

    这周收到一个 sentry 报警,如下 SQL 查询超时了。 select * from order_info where uid = 5837661 order by id asc limit 1 执行show create table order_info 发现这个表其实是有加索引的 CREATE TABLE `order_info` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

  • MySQL的优化多种方法(至少15条)2021-10-13 17:01:42

    MYSQL的优化,是每一个程序员在做数据查询处理的时候,经常有的步骤 那么SQL的优化有很多种,它可以是在硬件方面的,可以是在代码层面的,可以是在数据库方面的优化。下面就详细整理一下30种优化MYSQL的方案: 1. 在读表的时候,尽可能的避免全表扫描,合理的根据业务需求,在where及order by涉及的

  • 被老板骂了!线上执行一条update语句意外导致业务崩了2021-09-24 15:04:08

    昨晚在群划水的时候,看到有位读者说了这么一件事。 大概就是,在线上执行一条 update 语句修改数据库数据的时候,where 条件没有带上索引,导致业务直接崩了,被老板教训了一波 这次我们就来看看: 为什么会发生这种的事故?又该如何避免这种事故的发生? 说个前提,接下来说的案例都是基于 Inn

  • 面试--数据库2021-09-11 18:03:13

    索引失效 1.如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因)。 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引。 2.like查询是以%开头。 3.对于复合索引,如果不使用前列,后续列也将无法使用。 4.存在索引列的数据类型隐形转

  • 重新认识康特星count(*)和康特伊count(1)2021-09-09 00:01:19

    目录 MyISAM引擎表 康特星count(*) 孤独的count(*) 含其他列的康特星count(*) 含where子句的康特星count(*) 康特伊count(1) 孤独的count(1) count(name) count(distinct name)  InnoDB引擎表 康特星count(*) 孤独的count(*) 康特伊count(1)  孤独的count(1)         本

  • MySQL索引初探2021-07-21 21:36:51

    数据准备 测试数据的准备,使用MySQL官方示例测试数据。 MySQL 官方示例测试数据导入 如果本机安装了mysql,那么直接找到文件夹下运行命令即可。 我用的是docker,所以需要将文件夹先复制到docker中,然后进入mysql容器,然后进入我们复制的文件夹下,执行命令 Docker容器和本机之间的文件传

  • 04. SQL数据过滤都有哪些方法?2021-07-14 14:02:18

    文章目录 前言一、比较运算符二、逻辑运算符三、使用通配符进行过滤总结 前言 提升查询效率的一个很重要的方式,就是约束返回结果的数量,还有一个很有效的方式,就是指定筛选条件,进行过滤。 不同的where子句执行效率有很大差别。本篇讲解where子句。重点是: 学会使用 WHERE

  • 以下几种情况将导致索引失效2021-07-10 09:30:42

    索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 2.对于多列索引,不是使用的第一部分(第一个),则不会使用索引 3.like查询是以%开头 4.如果列类型是字符串,那一定要在条件中将数据使用

  • mysql表手工显式加锁、全表加锁、查看加锁、解锁2021-06-27 10:32:34

    单个表锁定: 格式: LOCK TABLES tbl_name {READ | WRITE},[ tbl_name {READ | WRITE},……]  例子: lock tables db_a.tbl_aaa read;   // 锁定了db_a库中的tbl_aaa表 解锁: unlock tables;  全局表锁定: 命令: FLUSH TABLES WITH READ LOCK;   // 所有库所有表都被锁定

  • 如何避免hbase条件查询全表扫描问题(hbase二级索引解决方案)2021-06-12 18:33:14

    在自己5年的开发生涯中时常在想crud对开发水平的提升真的有用吗?答案当然是没用的。通过自身的经历告诉大家唯有提高架构思想,完善问题解决方案才有提升的可能。在此就不再啰嗦了直接上干货。 场景描述:有这样一张关系型数据表包括身份证,姓名,年龄,手机号,家庭住址(数据量太大普通关系

  • 在千万级的数据库查询中,如何提高效率?2021-06-01 16:35:03

    1、数据库设计方面a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表

  • Oracle 11g新特性direct path read引发的系统停运故障诊断处理2021-05-20 11:56:58

    Oracle 11g新特性direct path read引发的系统停运故障诊断处理 黎俊杰 | 2016-07-28 14:37 声明:部分表名为了脱敏而用XX代替 1、故障现象 (1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢 (2)整个系统无法正常使用,接近停运状态 2、故障解决方法 调整

  • mysql中 In /not in 是否走索引??2021-05-18 15:34:03

    IN not in exist not exist 基础知识:ALL 全表扫描,对整个表进行扫描,效率最差;Index 索引扫描,是对整个索引的扫描,如果查询的选择结果中没有包含在索引中时,那跟全表扫描的效果时一样的;Range 有范围的索引扫描;Ref 查询条件的列中使用了索引,但是索引不是唯一的,所以需要继续在该范围内查

  • sql性能优化2021-05-04 17:34:25

    一.前言   sql优化是个老生常谈的话题,本文会简单罗列一些在sql中可以用到的sql优化方法。 二.方法 1.创建索引   当被问到sql查询优化问题,第一反应基本就是回答建索引了吧。索引是一种用于排序和搜索的结构,在查询数据库时可以减少对I/O的消耗。 2.优化查询语句   1)在查询中

  • 【看懂执行计划】访问表的方式2021-04-30 09:04:42

    全表扫描(Full Table Scans, FTS)   全表扫描是指Oracle在访问目标表里的数据时,会从该表所占用的第一个区(EXTENT)的第一个块(BLOCK)开始扫描,一直扫描到该表的高水位线(HWM,High Water Mark),这段范围内所有的数据块Oracle都必须读到。Oracle会对这期间读到的所有数据施加目标SQL的w

  • 避免 全表扫描 full table scan2021-04-27 20:32:32

     1、ON  WHERE 有索引字段 MySQL :: MySQL 8.0 Reference Manual :: MySQL Glossary https://dev.mysql.com/doc/refman/8.0/en/glossary.html#glos_full_table_scan   full table scan An operation that requires reading the entire contents of a table, rather than just

  • 为or、in平反——or、in到底能不能利用索引?2021-04-25 12:53:41

           为or、in平反——or、in到底能不能利用索引?    2010-04-10 13:38 金色海洋(jyk)  阅读(25664)  评论(33) 编辑 收藏    or和in会引起全表扫描,这种说法到底对不对?即or和in是否可以利用索引,从而提高效率?   先说一个笑话,作为开场白。俺也换换风格试一试,呵呵

  • 【等待事件】User I/O类 等待事件(2.5)--direct path read(直接路径读、DPR)2021-04-18 23:55:00

    想关注我吗?请点击图片上方蓝字小麦苗关注即可,关注后您将可以每日获得最实用的数据库技术。请将小麦苗公众号置顶,小麦苗不喜欢被压着,~O(∩_∩)O~小麦苗的今日寄语     故天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。   

  • 【等待事件】User I/O类 等待事件(2.2)--db file scattered read(数据文件离散读)2021-04-18 16:56:07

    在V$SESSION_WAIT这个视图里面,这个等待事件有三个参数P1、P2、P3,其中P1代表Oracle要读取的文件的绝对文件号,P2代表Oracle从这个文件中开始读取的BLOCK号,P3代表Oracle从这个文件开始读取的BLOCK号后读取的BLOCK数量。SELECT *FROM   v$event_nameWHERE  NAME IN ('db file se

  • 神奇的MySQL排序,我把面试者都问蒙了2021-04-18 15:51:25

    MySQL 很有意思,发现我越来越喜欢它。不因为别的,就因为同事一个问题花一天,而我大多数情况下,我都能够避免。节约的时间,我可以用来学习其他的知识。最近关注了一下 MySQL 的 order by 排序功能。发现了一些很有意思的事情,我们一起来分享一下。1、排序字段有索引,无条件查询的情况下,竟然

  • sql 语句优化2021-04-17 09:02:06

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null

  • 【DB笔试面试134】在Oracle中,COUNT(1)比COUNT(*)在执行效率上要快吗?2021-04-15 22:51:34

    Q          题目如下所示:在Oracle中,COUNT(1)比COUNT(*)在执行效率上要快吗?     A          答案如下所示:          错。COUNT(1)和COUNT(*)在执行效率上是一样的。COUNT()函数是Oracle中的聚合函数,用于统计结果集的行数。其语法形式如下所示:COUNT({ * | [

  • Oracle 11g新特性direct path read引发的系统停运故障诊断处理2021-04-09 22:04:21

    声明:部分表名为了脱敏而用XX代替1、故障现象(1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢(2)整个系统无法正常使用,接近停运状态2、故障解决方法调整数据库参数alter system setevent='10949 trace name context forever, level 1'来关闭“direct path r

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有