query-optimization相关内容

LIKE '%...%' 通配符查询的 PL/SQL 性能调优

我们使用的是 Oracle 11g 数据库. 您可能知道也可能不知道,如果您在字符串前面使用带有“%"的通配符查询,则不会使用列索引,并且全表扫描发生. 似乎没有关于如何改进此类查询的明确建议,但也许您可以分享一些关于如何优化以下查询的经验的宝贵信息: SELECT *从我的表WHERE UPPER(CustomerName) like '%ABC%'或 UPPER(Indemnifie ..
发布时间:2021-12-21 23:45:22 数据库

Hive 数据记录的顺序是否对连接表很重要

我想知道连接两个表时数据记录的顺序是否重要(性能方面)? 附言我没有使用任何地图端连接或桶连接. 谢谢! 解决方案 一方面,顺序应该无关紧要,因为在 shuffle join 文件被映射器并行读取时,文件也可能被分成几个映射器,反之亦然,一个映射器可以读取几个文件,然后映射器输出传递给每个减速器.而且即使数据被排序,由于并行性,它也不会按顺序读取和分发. 另一方面,排序可以根 ..
发布时间:2021-12-20 16:28:25 其他开发

如何使用许多连接优化慢查询

我的情况: 该查询搜索了大约 90,000 辆汽车 每次查询都需要很长时间 我已经在所有被 JOIN 的字段上建立了索引. 我该如何优化它? 这是查询: 选择车辆.make_id,车辆.fuel_id,车辆.body_id,Vehicles.transmission_id,车辆.colour_id,车辆.里程,车辆.vehicle_year,Vehicles.engine_ ..
发布时间:2021-12-17 20:54:07 数据库

高基数字段的 Hive 查询性能

我在 hive 中有一个单一但很大的表,它几乎总是用主键列(例如,employee_id)进行查询.该表将非常庞大,每天插入数百万行,我想使用该字段上的分区进行快速查询.我关注了这篇文章并且我知道分区仅适用于低基数字段,那么如何使用 employee_id 列实现快速查询的目标? 我知道应该将基数非常高的 id 列用作分桶,但它对我在单个表上的查询性能没有帮助,是吗? 我认为如果我可以 ..
发布时间:2021-12-15 18:23:42 其他开发

PostgreSQL LIKE 查询性能变化

我发现对于数据库中特定表的 LIKE 查询的响应时间有很大差异.有时我会在 200-400 毫秒内得到结果(非常可接受),但有时可能需要多达 30 秒才能返回结果. 我知道 LIKE 查询非常占用资源,但我只是不明白为什么响应时间会有如此大的差异.我在 owner1 字段上建立了一个 btree 索引,但我认为它对 LIKE 查询没有帮助.有人有什么想法吗? 示例 SQL: SELE ..

为什么索引的方向在 MongoDB 中很重要?

引用文档: 创建索引时,与键关联的数字指定索引的方向,所以它应该总是 1(升序)或 -1(降序).方向对于单个键索引或对于随机访问检索,但如果您进行排序或复合索引的范围查询. 但是,我认为没有理由为什么索引的方向对复合索引很重要.有人可以提供进一步的解释(或示例)吗? 解决方案 MongoDB 以某种方式连接复合键,并将其用作 BTree 中的键. 查找单个项目时 - 树 ..
发布时间:2021-12-05 18:30:06 其他开发

为一个值检查多列

我有一个表格,其中包含这样的列,例如: id,col1,col2,col3,col4 现在,我想检查 col1, col2, col3, col4 的 ANY 是否有传入的值. 很长的路要走... SELECT * FROM table WHERE (col1 = 123 OR col2 = 123 OR col3 = 123 OR col4 = 123); 我猜它是 IN 的相反版 ..
发布时间:2021-11-20 22:25:00 数据库

Mysql 使用通配符提高搜索性能 (%%)

以下是我用于通过电子邮件搜索某人的查询 SELECT *来自 phppos_customers在 phppos_customers.person_id = phppos_people.person_id 上加入 phppos_peopleWHERE 删除 = 0和电子邮件喜欢“%f%"通过电子邮件订购 ASC 在“email"上添加索引会加快查询速度吗? 解决方案 否,因为当您有前导 ..
发布时间:2021-11-20 22:20:26 数据库