首页 > 其他分享 >lightdb 允许建表时同时建立索引

lightdb 允许建表时同时建立索引

时间:2024-01-22 12:00:16浏览次数:27  
标签:index lightdb 建表时 -- create 索引 int table foo

背景

在 Mysql 的建表语法中,用户可以使用 index 关键字指定列名作为索引。在 LightDB 24.1 中支持了该语法的部分特性。

用例

-- use default index name
create table foo(a int, index (a));

-- create unique index
create table foo(a int, unique index(a));

-- use custom index name
create table foo(a int, index idx_foo_a(a));

-- index name is the same as table name
--= error in LightDB, warning in mysql
create table foo(a int, index foo(a));

-- order is not important, in middle
create table foo(b int, index (a), a int);

-- use hash
create table foo(a int, index using hash (a));

-- use desc
create table foo(a int, index (a desc));

-- use functional index
create table foo(a varchar(10), index ((ltrim(a))));
insert into foo values('10');
insert into foo values('   10');
set enable_seqscan = off;
set enable_indexscan = on;
explain select a from foo where ltrim(a) = '10';

以下特性不支持,

--= error, 不支持指定索引使用的列名长度
create table foo(a varchar(20), index (a(10)));

--= error, 不支持索引选项
create table foo(a int, index (a) comment 'not a correct syntax');

标签:index,lightdb,建表时,--,create,索引,int,table,foo
From: https://www.cnblogs.com/lddcool/p/17979763

相关文章

  • lightdb 允许常用比较操作符之前存在空格
    背景在Oracle中,>=,<=,!=,<>操作符字符之间允许存在空格。为兼容这种特性,LightDB24.1中对这些比较操作符作了特殊处理。用例selectcount(*)fromdualwhere1>=1;selectcount(*)fromdualwhere1<=1;selectcount(*)fromdualwhere1!=2;s......
  • lightdb 支持无参函数无括号使用
    背景在Oracle中,用户自定义的无参函数可以不带括号执行。为支持该特性,LightDB24.1版本中,允许用户使用无参函数的函数名调用函数,包括系统函数,如:now.用例createfunctionfn_noparam()RETURNSintlanguagesqlas$$select1;$$;--=1,simpleexprselectfn_noparam......
  • lightdb datetime 函数参数名支持
    背景在Oracle和PostgreSQL中datetime标识符并没有作为关键字,也不是数据类型。在Mysql中,datetime是数据类型名,但并不是保留关键字。在LightDB23.4及以前版本中,datetime被误当成可以作为列名的关键字,导致Oracle用户使用datetime作为函数参数名,函数名等情况都会报......
  • Perplexity AI:给搜索引擎注入了新的生命力
    Ai工具集导航(Ai-321.com)新时代的互联网世界中,搜索引擎被誉为“王冠顶上的明珠”。毕竟,百度和谷歌这两大巨头在两岸三地都享有举足轻重的地位。然而,随着AI大模型的崛起,AI赋能搜索引擎已经成为业界的新潮流。国内市场上,昆仑万维的天工AI搜索成为瞩目的新秀;而在海外,则有AI搜索初创公司......
  • mysql中的各种索引大总结
    文章目录为啥不用二叉搜索树?为啥不用平衡二叉(avl)树?为啥不用b-树?为啥用b+树?(重点)索引聚簇索引聚簇索引的局限聚集的数据的优点非聚簇索引介绍组合索引覆盖索引前缀索引前缀索引选择算法全文索引hash索引b-tree索引自适应哈希索引小咸鱼的技术窝b-tree索引使用的是b+树的数据结构,树......
  • 数据库学习笔记(二)—— MySQL 之 存储引擎和索引篇
    存储引擎和索引 前言关于MySQL的学习着实有些混乱,虽然才到学习笔记二,但学习笔记四都已经写完了,其他写一点,可以说是东一榔头西一棒槌;写出的东西也不忍直视,省略了很多细节,还基本上都是到处搬运的,可即便是搬运,也都绞尽脑汁了。网上的知识大多都模糊不清,甚至还错误百出,为了......
  • 字节面试:索引的设计规范,你知道多少?
    小北说在前面:在一线互联网企业种,如网易、美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、美团等大厂,数据库的面试题,一直是核心和重点的提问点,比如前段时间有位小伙伴面试字节,就遇到了下面这道面试题:索引的设计规范,你知道那些?小伙伴虽然用过索引,但是索引的设计规范忘记......
  • MySQL索引使用原则
    1、最左前缀法则:     如果索引多列(联合索引),要遵循最左前缀法则,最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。如果跳过某一列,索引将部分失效(后面的字段索引失效)。2、范围查询   联合索引中,出现范围查询(<,>),范围查询右侧的列索引失效(业务允许......
  • mysql8.0索引数据结构
    1、为什么使用索引假如给数据使用二叉树这样的数据结构进行存储,如下图所示2、索引及其优缺点2.1、索引概述2.2、优点(1)类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本,这也是创建索引最主要的原因。(2)通过创建唯一索引,可以保证数据库表中每一行数据的唯一性......
  • 数据库索引和索引优化
    索引和索引优化MysqlInnoDB使用B+树作为索引,如下图,是一个简化的B+数:使用B+树作为索引有点非常明显的优点1、B+树的数据都保存在叶子节点中,非叶子节点只保存指针,这样可以极大的减少数的阶数。如图如果每一阶可以存储1000个值,那么3阶树即可以存储1000*1000*1000=10亿个数据。而根......