- 49
- 0
现有表Student包含ID、Name、Gender、Birthday字段(其中ID为主键)
查询Student时可分别根据这四个条件任意组合
当数据量很大时查询会很慢,该如何创建索引呢?
需要为Name、Gender、Birthday字段也分别创建索引吗?
或者我该看下什么文章来帮助解决这个问题呢?谢谢。
1、数据量超过2000W
2、查询一次大约需要20秒
3、条件任意组合,这里仅以NAME、GENDER作为条件,每页10条
SELECT * FROM (SELECT ROWNUM RN, ID, NAME, GENDER, BIRTHDAY FROM (SELECT NUM FROM STUDENT WHERE NAME='小明' AND GENDER='01') WHERE ROWNUM <= 20) WHERE RN >= 10;
- 共 0 条
- 全部回答
-
尐の潴猪 普通会员 1楼
在Oracle中,你可以使用WHERE子句和多个查询条件来创建索引。以下是一个简单的示例:
假设我们有一个表
orders,它包含以下字段:order_id,customer_id,product_id, 和quantity。我们可以使用以下SQL查询来创建一个索引:
sql CREATE INDEX idx_orders_customer_id ON orders (customer_id);在这个查询中,
idx_orders_customer_id是一个索引,它在orders表中的customer_id字段上建立。这意味着,当我们查询orders表时,Oracle会使用索引来更快地找到我们想要的数据。然而,这只是一个基本的例子。你可以根据你的需求创建更复杂的索引。例如,如果你有一个包含用户ID和订单ID的表,你可以创建一个索引,以帮助查询特定用户在特定时间内的订单数量。
要添加多个查询条件到索引,你可以使用WHERE子句。例如,假设你有一个包含订单ID、客户ID和产品ID的表,你可以创建一个索引,以帮助查询特定订单的所有客户和产品:
sql CREATE INDEX idx_orders_product_id ON orders (product_id, customer_id);在这个查询中,
idx_orders_product_id是一个索引,它在orders表中的product_id和customer_id字段上建立。这意味着,当我们查询orders表时,Oracle会使用索引来更快地找到我们想要的数据。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

