1.隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段name定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给Oracle,这样会导致索引失效. 错误的例子:select * from school where name=1; 正确的例子:select * from school where n
3.前导模糊查询不能利用索引(like '%XX'或者like '%XX%'5.MySQL主要提供2种方式的索引:B-Tree索引,Hash 索引的类型:普通索引:这是最基本的索引类型,没唯一性之类的限制。唯一性索引:和普通索引基本相同,但所有的索引列只能出现一次,保持唯一性。主键:主键是一种唯一索引,但必须指定为"PRIMARY KEY"。全文索引:全文索引索引类型为FUL
大家好,我是小林。在工作中,如果我们想提高一条语句查询速度,通常都会想对字段建立索引。但是索引并不是万能的。建立了索引,并不意味着任何查询语句都能走索引扫描。稍不注意,可能你写的查询语句是会导致索引失效,从而走了全表扫描,虽然查询的结果没问题,但是查询的性能大大降低。今天就来跟大家盘一盘,常见的 6 种会发生索引失效的场景。不仅会用实验案例给大家说明,也会清楚每个索引失效的原因。发车!索引存储结构
转载 2024-05-27 21:47:30
287阅读
OceanBase 是单体分布式架构的数据库,调优第一原则遵从先单体再分布的特色,简而言之最好内循环把单机性能
原创 精选 2024-03-12 21:59:27
237阅读
ORACLE分区表、分区索引 ORACLE对于分区表方式其实就是将表分段存储,一般普通表格是一个段存储,而分区表会分成多个段,所以查找数据过程都是先定位根据查询条件定位分区范围,即数据在那个分区或那几个内部,然后在分区内部去查找数据,一个分区一般保证四十多万条数据就比较正常了,但是分区表并非乱建立,而其维护性也相对较为复杂一点,而索引的创建也是有点讲究的,这些以下尽量阐述详细即可。 1、类型说明:
FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE INDEX创建FULLTEXT索引,要比先为一张表建立FULLTEXT然后再将数据
oceanbase3节点集群性能问题 - 社区问答- OceanBase社区-分布式数据库SELECT SQL_ID, COUNT(*), AVG(elapsed_time), MAX(elapsed_time), MIN(elapsed_time) FROM oceanbase.GV$OB_SQL_AUDIT WHERE tenant_id = 1001 AND request_time &gt
原创 9月前
0阅读
作者:Gin TiDB 从 v4.0 版本开始正式支持序列功能,而除了序列之外还有多种序列号生成方案,这些方案在没有对 TiDB 优化的时候一般会产生写入热点问题。 本文将介绍如何应对写入热点问题高效运行序列号服务。 为什么需要(唯一)序列号 主键是关系模型设计中的第二范式,参照第二范式,所有表都应具有主键。实际操作中,OLTP 系统中承载交易的关键表会通过设置主键来确保记录的
比如语句:select * from p1 where id = 9;id 为分区键,可以直接定位到具体的表分区partitions(p9),仅需扫描一行记录。
原创 2024-03-09 08:15:08
60阅读
1.1 系统性能 系统性能是对整个系统的研究,包括了所有的硬件组件和整个软件栈。所有的数据路径上和软硬件上所发生的事情都包括在内,都有可能影响性能。对于分布式系统来说,意味着多台服务器和多个微服务,需要有一张完整的示意图来说明软件架构之间的关系。下图呈现的是单台服务器的通用软件栈,包括操作系统内核,数据库,应用程序层。1.2 人员性能测试是需要多方协作的事务,需要系统
OceanBase学习笔记之分区一:RANGE分区RANGE 分区根据分区表定义时为每个分区建立的分区键值范围,将数据映射到相应的分区中。它是常见的分区类型,经常跟日期类型一起使用。例如,可以将业务日志表按日/周/月分区。(1)简单语法CREATE TABLE table_name ( column_name1 column_type [, column_nameN
转载 2024-09-12 22:53:38
305阅读
创建Index创建Index的DDL语法为:   1. CREATE INDEX {index_name} 2. ON {data_table} ({columns_to_index}) 3. INCLUDE ({columns_to_cover})Global Index v.s. Local IndexGlobal IndexGlobal index适合大量读、小量写的场景:性能
1. 索引概述及其优缺点为什么要使用索引:在没有索引的情况下,不论是根据主键列或者其他列的值进行查找,由于我们并不能快速的定位到记录所在的页,所以只能 从第一个页 沿着 双向链表 一直往下找,在每一个页中根据我们上面的查找方式去查找指定的记录。因为要遍历所有的数据页,所以这种方式显然是 超级耗时 的。如果一个表有一亿条记录呢?此时 索引 应运而生。1.1 索引概述MySQL官方对索引的定义为:索引
作者简介: 孙宏鑫,OceanBase技术专家,主要负责oceanbase开源生态,运维监控相关工作。OceanBase 自开源以来随着用户的不断增加及使用场景的不断丰富,其部署形态逐渐多元化,为了帮助用户更流畅地在不同环境部署,本文将从体验场景和生产环境两方面分别介绍在主机、容器环境中如何部署OceanBase。环境准备众所周知,OceanBase 作为分布式数据库,以多副本的方式保证数据的可用
数据一个比较常见的场景,使用ob 作为ap 分析,但是默认ob 的超时时间是10s 参考解决方法 修改会话时间 session 级别的 set session ob_query_timeout=2000000000; 全局级别的 需要有super 的权限 SET GLOBAL ob_query_ti
原创 2022-01-20 11:36:45
916阅读
这种优化提高了非索引列和常量之间直接比较的效率。在这种情况下,条件被“ 下推 ”到存储引擎进行评估。此优化只能由NDB存储引擎使用。对于NDB群集,此优化可以消除在群集的数据节点和发出查询的MySQL服务器之间通过网络发送不匹配的行的需求,并且可以将查询的使用速度提高5到10倍(在某些情况下)可以但不使用条件下推的地方。假设NDB群集表定义如下:CREATE TABLE t1 ( a INT, b
# MySQL 至 OceanBase 索引 在现代数据库中,索引是提高查询效率的重要工具。不同的数据库系统在索引实现和使用上有些许差异,本文将探讨如何将 MySQL 的索引迁移至 OceanBase,以及相关的代码示例。 ## 为什么选择 OceanBase? OceanBase 是阿里巴巴开发的一款分布式数据库,具备高可用性、高性能和可扩展性。与 MySQL 相比,OceanBase 使
原创 2024-10-19 04:08:17
38阅读
上周第一次做数据库测试碰到了很多问题特此总结: 表空间: Oracle的UNDOTBS01.DBF文件太大的解决办法 1、.禁止undo tablespace自动增长 alter database datafile 'full_path\undotbs01.dbf' autoextend off; 2.-- 创建一个新的小空间的undo tabl
一、并发性   并发性是数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。     mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁
关于作者肖帆 OceanBase技术专家OceanBase技术专家,开源生态团队成员。毕业于华中科技大学软件工程专业,从事数据库领域的质量保障工作,曾就职于有赞、网易,参与关系型数据库、缓存数据库、对象存储相关产品的测试开发,目前的工作方向是OceanBase社区版性能测试。 2022 年 11 月 3 日, OceanBase 社区版 4.0 Beta 版本正式上线。发布现场的演练测试
转载 2024-06-12 23:08:32
835阅读
  • 1
  • 2
  • 3
  • 4
  • 5