按类别查询搜索结果
关于关键词 的检测结果,共 18361
dingjun123 | 2025-04-26 18:19:17 | 阅读(10) | 评论(0)
mysql执行计划里索引访问算子和oracle的不同之处

1.mysql Index range scan算子包括index access,index filter(ICP),回表不带过滤的时间,
如果有额外的过滤条件,有Filter算子,过滤时间算在这里面。
ICP如果能大幅度减少回表的行,也就减少了回表的随机IO,则效率提升明显。

2.估算的rows实际上是访问方法扫描的行数,对应普通explain的rows,不包括ICP以及回表过滤filtered,不是结果行数,
这个实际上和oracle不一样,oracle的rows/cardinality是整个条件结果行数

3.mysql的analyze的actual rows则包括过滤条件,所以估算的rows和actual rows实际上标准不统一,是缺陷

通过估算的rows可以看到索引index access效率,比如访问行数多,则效率低,然后actual rows少,说明要么走ICP,要么组合索引顺序非最佳

index访问,过滤,回表效率比较:ind【阅读全文】
【Mysql/postgreSQL】 MySQL不支持view jppd下推
dingjun123 | 2025-04-26 18:11:55 | 阅读(0) | 评论(0)
对于不能merge的view/derived table/ct
mysql不支持jppd谓词推入,只支持单独的过滤谓词推入到view里,只支持单独过滤谓词推入到union all视图(mysql8支持)、group by等视图里,
不支持join谓词推入不能merge的视图,比如union all视图,group by视图里

mysql join谓词不能推入到union all视图里,直接materialize化,性能差
【阅读全文】
dingjun123 | 2025-04-26 15:15:07 | 阅读(0) | 评论(0)
组合索引要符合leftmost prefix规则,前导列是范围的,后续列条件不能index access,只能index filter...
但是貌似有例外:
MySQL的like后通配,between,>=,=1 and b>3,“如果a是整数”
然后索引访问实际上是拆成两份:a=1 and b>3 和a>1 and b>3,前者能真正用到两个列索引访问,后者只能用到a>1
那么,如果存在a>1的数据很少,a=1的数据多,但是a=1 and b>3的数据少,
那么where a>=1 and b>3就比a>0 and b>3的效率高,因为写成
a>0 and b>3则只能用到a>0,而a>0是等价于a>=1的。。。但是实际上访问效率不一样,【阅读全文】
dingjun123 | 2025-04-06 21:14:51 | 阅读(30) | 评论(0)
1.排序键,排序要消除,才能limit裁剪,如果排序键在访问条件里更好,索引支持desc访问,如果前导列是等值,不用建desc索引
如果order by里没有前导列,要消除排序,排序列必须紧跟在等值访问条件索引后面,或者作为前导列,支持desc扫描,不用建desc索引
如果order by里有前导列,要消除排序,按order by顺序建组合索引即可,但是如果前导列非等值,则后面列如果desc,只能建desc索引


2.等值访问条件最好为前导列,就算选择性不好,也可以减少索引访问的行
3.遵循leftmost prefix规则,不能index访问的条件放到组合索引最后,可以起到index filter减少回表的作用
【阅读全文】
dingjun123 | 2025-03-17 08:57:19 | 阅读(50) | 评论(0)
rows examined实际上是server层检查的行数,没有统计storage engine层内部处理的行数。这样很多看似是有问题的,就很好理解了,
但是,很多人把rows examined当成SQL性能的一种重要指标,认为这个是SQL扫描的行数,这就有问题了,实际上rows examined有时候
并不能准确反应storage engines扫描的行数。
【阅读全文】
dingjun123 | 2025-03-16 18:26:51 | 阅读(50) | 评论(0)
在MySQL里,如果order by + limit,where或join条件还有可选索引,有可能走错索引,默认的是偏向于走order by 列索引。【阅读全文】
dingjun123 | 2025-03-16 18:12:46 | 阅读(60) | 评论(0)
oracle,pg,mysql范围越界的选择率估算:
通过以下方式,防止突然变成1,导致笛卡尔积,当然,越界问题容易变成走索引(如果实际查的数据量大,则需要更新统计信息),另外越界的话还是可能估算
成1的,一般都是估算的很少行。【阅读全文】
小小蚂蚁后 | 2025-03-04 14:44:31 | 阅读(60) | 评论(0)
MySQL的RR模式下,快照读按照第一次select创建的readview读取快照数据,这是表级的,整个表所有行的快照都是在这个时间点。
快照读又叫一致性读(consistent read),unlock read,不加锁(元数据锁还是有的,行锁没有,就是普通SELECT)。
DML包括FOR UPDATE,FOR SHARED是当前读,会读取最新快照的数据,这类似幻读了。
普通SELECT在RR隔离级别下都是可重复读,快照读,除非混合了UPDATE,那么之后的SELECT会读取到本事务修改的数据,像普通的FOR UPDATE,FOR SHARE,
他们会读取到最新提交的数据,但是不影响后续的普通SELECT还是快照读,还是看不到新提交的数据。
【阅读全文】
SZN123 | 2025-02-26 13:52:39 | 阅读(60) | 评论(0)
在工业场景中,生产设备运行以及原料都会消耗大量的水电能源。受限于管理模式的粗放,往往导致能源浪费却不知晓,节能优化却找不到源头的困境,进而不断增加企业的生产成本,不利于企业的持久性发展。因此,构建数字化、智能化的能耗监测管理系统十分有必要。 对此,数之能提供基于数据采集平台实现水电表接...【阅读全文】
北亚数据恢复 | 2025-02-20 13:32:35 | 阅读(50) | 评论(0)

MySQL数据库数据恢复环境&故障:
本地服务器,安装的windows server操作系统。
操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。
人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。【阅读全文】
dingjun123 | 2025-01-22 09:09:36 | 阅读(100) | 评论(0)
索引是有序存储的,查询最左或最右就可以查询最小,最大值,这是一种非常快的操作,因为min.max索引前导列,只需要从最左或最右侧
扫描到第一个非NULL值即可。


pg和mysql支持索引列min.max写在一起,会快速定位,而oracle不行,oracle可以拆分成两个标量子查询实现。
【阅读全文】
【数据库开发技术】 MySQL 数据库优化实用技巧
shy_17101797897 | 2025-01-10 11:19:48 | 阅读(80) | 评论(0)
合理设计表结构。遵循数据库范式,减少数据冗余。例如,在设计用户表时,将常用信息与不常用信息分开存储,避免表过大。同时,为频繁查询的字段添加索引,如在WHERE子句中经常使用的字段。创建索引CREATE INDEX idx_username ON users(username); ,加快查询速度。调整数据库参数。根据服务器硬件配置和业务需...【阅读全文】
shy_17101797897 | 2025-01-06 11:25:54 | 阅读(70) | 评论(0)
常用的备份方式有物理备份和逻辑备份。物理备份如使用xtrabackup工具,可快速复制数据库文件,适合大规模数据备份。逻辑备份可通过mysqldump命令,将数据以 SQL 语句形式导出,灵活性高。恢复数据时,根据备份类型选择相应方法。若逻辑备份,可通过mysql命令导入 SQL 文件;物理备份则需停止 MySQL 服务,替换数据库...【阅读全文】
北亚数据恢复 | 2024-12-16 10:57:08 | 阅读(100) | 评论(0)
Mysql数据库故障:
Mysql数据库表记录丢失。

Mysql数据库故障表现:
1、Mysql数据库表中无任何数据或只有部分数据。
2、客户端无法查询到完整的信息。【阅读全文】
北亚数据恢复 | 2024-12-09 11:00:59 | 阅读(120) | 评论(0)
mysql数据库文件ibdata1、MYI、MYD损坏。
故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。【阅读全文】
dingjun123 | 2024-12-01 10:33:08 | 阅读(180) | 评论(0)
oracle,mysql,pg杀会话区别和注意点【阅读全文】
北亚数据恢复 | 2024-08-07 13:26:09 | 阅读(2220) | 评论(0)
Linux操作系统服务器,EXT4文件系统。服务器中有数台KVM虚拟机。
KVM虚拟机被删除,需要恢复raw格式的磁盘文件。【阅读全文】
dingjun123 | 2024-05-13 17:31:18 | 阅读(5230) | 评论(0)
本文主要研究下组合索引包含in条件(多个值),在单表查询,关联查询这两种SQL查询结果在ORACLE和MySQL里的区别。
ORACLE具有强大的优化器,一般来说,组合索引在ORACLE里不管是单表还是关联查询,都可以选择最佳执行计划,只要统计信息等
是准确的。
MySQL的优化器相对来说,要弱不少,很多功能不够健全,单表对于组合索引包含IN的处理貌似没有什么问题,但是JOIN情况下,
包含IN LIST组合索引的表是被驱动表,则问题比较严重,卖个关子,详细见本文MySQL部分讲述。【阅读全文】
dingjun123 | 2024-05-13 09:22:58 | 阅读(41680) | 评论(0)
本文主要研究下组合索引包含in条件(多个值),在单表查询,关联查询这两种SQL查询结果在ORACLE和MySQL里的区别。
ORACLE具有最强大的优化器,一般来说,组合索引在ORACLE里不管是单表还是关联查询,都可以选择最佳执行计划,只要统计信息等
是准确的。
MySQL的优化器相对来说,要弱不少,很多功能不够健全,单表对于组合索引包含IN的处理貌似没有什么问题,但是JOIN情况下,
包含IN LIST组合索引的表是被驱动表,则问题比较严重,卖个关子,详细见本文MySQL部分讲述。
【阅读全文】
北亚数据恢复 | 2024-05-10 13:28:10 | 阅读(5100) | 评论(0)
服务器存储故障:
某单位同友存储,存储设备中若干磁盘组建了raid5磁盘阵列。未知原因导致存储设备崩溃无法启动,raid5阵列上层的虚拟机全部丢失,其中存放了重要数据的3台虚拟机需要恢复。

服务器存储数据恢复过程:
1、磁盘镜像过程就不赘述了。通过与用户方的沟通以及对raid阵列的分析,获悉故障存储的存储结构:若干物理磁盘组成一个存储池,划分了多个lun,其中需要恢复的那3台虚拟机在lun1。【阅读全文】