KingbaseES 索引与视图创建管理指南
引言
掌握表的基本运作之后,若想优化查询效率并简化数据访问,就要去学习'索引'和'视图'的运用。索引类似于'书籍目录',可以极大地加快查询速度;视图类似'数据窗口',能够隐藏复杂的查询逻辑,还能控制数据的可见性。本文就 ksql 命令行操作索引与视图展开论述,把从作用到创建,再到查看、维持直至删除的全过程拆解成实际操作步骤,并结合例子和避坑提示。
一、前置准备:确认操作基础
索引和视图要依托已有的表,所以得先做好如下预备工作,以防止在操作过程中因为依赖缺失而出现错误提示。
1.1 连接数据库并切换目标模式
利用 ksql 建立与本地 KingbaseES 数据库的联系,转到先前所创建的 test_schema 模式当中,检查目标表是否确实存在(拿 sys_user 表来说,要是没有就再次创建它),这样做的目的是确保后续操作能够顺利执行。
-- 1. 连接数据库(若未连接)
ksql -d kingbase -U system
-- 2. 切换到 test_schema 模式
SET search_path TO test_schema, public;
-- 3. 确认目标表存在(如 sys_user 表)
\dt sys_user;
-- 若不存在,创建示例表(用于后续索引/视图操作)
CREATE TABLE IF NOT EXISTS sys_user (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
phone CHAR(11) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) TABLESPACE test_ts;
执行后若显示 Table "test_schema.sys_user" does not exist,则先执行上述 CREATE TABLE 语句创建表,确保后续操作有载体。
1.2 插入测试数据
为了后续可以检测索引的查询速度,并查看视图的数据展示情况,要给 sys_user 表增添大量模拟数据来做测试。
-- 批量插入 10 条测试数据
INSERT INTO test_schema.sys_user (name, phone, email)
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , );


