大数据量下,查询速度优化,多索引情况
-- Create table
create table TDDEMO
(
UID NUMBER(13) not null,
LID NUMBER(7) not null,
START_DATE DATE not null,
END_DATE DATE not null,
EXPIRE_DATE DATE not null,
NAME VARCHAR2(16) default 0,
UPDATE_DATE DATE default SYSDATE
);
两个索引:
create index TDDEMO_INDEX1 on TDDEMO (UID, LID)
create index TDDEMO_INDEX2 on TDDEMO (EXPIRE_DATE)
大约600万数据,
我有如下两种语句需要很频繁的执行,
Select UID, LID, NAME from TDDEMO where UID >= XX and UID <= YY and LID = ZZ order by UID ;执行需要 17ms, 说明,每次结果大约1000条,
Delete from TDDEMO where expire_date < sysdate; 基本不花时间,
大家看看我可以怎么优化一些,期望查询语句能更快。
create table TDDEMO
(
UID NUMBER(13) not null,
LID NUMBER(7) not null,
START_DATE DATE not null,
END_DATE DATE not null,
EXPIRE_DATE DATE not null,
NAME VARCHAR2(16) default 0,
UPDATE_DATE DATE default SYSDATE
);
两个索引:
create index TDDEMO_INDEX1 on TDDEMO (UID, LID)
create index TDDEMO_INDEX2 on TDDEMO (EXPIRE_DATE)
大约600万数据,
我有如下两种语句需要很频繁的执行,
Select UID, LID, NAME from TDDEMO where UID >= XX and UID <= YY and LID = ZZ order by UID ;执行需要 17ms, 说明,每次结果大约1000条,
Delete from TDDEMO where expire_date < sysdate; 基本不花时间,
大家看看我可以怎么优化一些,期望查询语句能更快。
...全文
相关推荐
MySQL大数据量分页查询方法及其优化
MySQL大数据量分页查询方法及其优化
mysql分页查询优化,大数据量优化
传统的mysql分页查询 select * from table limit n , m MySQL 执行此类SQL时需要先分页(默认一页1000条数据)通过全表扫描到N行,然后再去取M行。对于此类操作,获取前面少数几行数据会很快,但是随着扫描的记录数越多,SQL的性能就会越差,因为N的值越大,MySQL需要扫描越多的数据来定位到具体的N行,这样耗费大量的 IO 成本和时间成本。 特别是上线后数据量积累比较快,必须重视SQL优化,否则影响系统运行和用户使用体验 性能实验 直接用limit start, count分页语句, 也是我程序中用的方法: select * from table lim
sql大数据量查询的优化技巧
全部都是经验积累所整理的文档,对提高查询有很大帮助
大数据量翻页查询的一点经验
我的系统为:每天新增一张表,每张表的数据量为1000万条记。一共有十个字段,有四个字段需要排序,每个字段都可能出现在查询条件中,每次查询所有的字段必须都查询出来,可以查询三天之内的数据,没有和其他表的连接。此例只举单表查询。多表查询稍加改造即可。
大数据量+高并发的数据库SQL优化
大数据量+高并发的数据库SQL优化


