是否有可能优化我编写的查询
我创建了一种动态虚拟数据库,以使用户能够添加自定义字段而不影响数据库结构。到目前为止,这是该结构的非常简化的视图。
tables | columns
db_cases | caseid
db_structure | fieldname
db_data | fieldname, data, caseid
db_names | nameid
我正在尝试将案例输出到html表
希望其余的内容可以自我解释,您可以看到它的效率如何。我可以通过联接做同样的事情吗?
SELECT
case_id,
(SELECT data_field_value
FROM db_data
WHERE data_case_id = case_id AND data_field_name = 'casestatus'
) AS casestatus,
(SELECT forename_company
FROM db_names
WHERE name_id = (SELECT data_field_value
FROM db_data
WHERE data_case_id = case_id AND data_field_name = 'client1'
)
) AS client1_forename_company
FROM db_cases
谢谢
实际上,Chibuzo是正确的。首先删除它:-))但是在此之前,先玩一下,这是很好的大脑锻炼,例如象棋之类的东西:-)
select
case_id,
d_status.data_field_value as case_status,
d_client1_name.forename_company as client1_forename_company
from db_cases
join db_data as d_status
on d_status.data_case_id = case_id
AND d_status.data_field_name = 'casestatus'
join db_data as d_client1
on d_client1.data_case_id = case_id
AND d_client1.data_field_name = 'client1'
join db_names as d_client1_name
on d_client1_name.name_id = d_client1.data_field_value
我希望没有子查询的这些直接联接会更加高效,尽管您必须对其进行测试-优化经常会让人感到意外。
我试图通过扁平化视图层次结构来优化Android应用程序中的布局。这里有一个特别难的问题! 此布局有一个主线布局,用于容纳顶行和底行(它们本身就是水平的子线布局)。中间的四个项目中的每一个都是使用LayOut权重来展开的垂直相对性(以适应图像视图和文本视图)。包含两个项目的每一行也是一个水平线性布局。 不用说,这种布局效率非常低,在绘制时会导致许多“编排者跳过了帧”的消息。我想删除这些嵌套的布局,
1,1 2,1 2 3 4,1 2 3 4 5,1 2 3 4 5 6,1 2 3 4 5 6 7 7,1 2 3 4 5 6 7 8 9 1 0,1 2 3 4 5 6 7 8 9 1 0 1 1 1,1 2 3 4 5 6 7 8 9 1 0 1 1 1,1 2 3 4 5 6 7 8 9 1 0 1 1......... 给我一个索引(1<=index<=10^10),我需要找到该索引中的数
我一直在使用关系数据库,最近决定将性能关键服务从SQL服务器迁移到Tarantool,希望利用内存中的快速搜索和处理。在计划迁移时,我有几个问题。 我有一个包含大约一百万条记录的表,其中包含定价信息,这意味着我主要处理的是数字和UUID。首先,我需要运行一个包含多个条件的select来获取数据的子集,如 Q1:在Lua中运行这样一个查询的策略是什么?我是为谓词中的每个字段创建索引,还是可以使用一个
问题内容: 我有一个查询,使用带通配符的“ like”来搜索客户端。例如: 它还可以在“ where”子句中使用较少的参数,例如: 谁能说出优化这种查询性能的最佳方法是什么?也许我需要创建一个索引?该表在生产中最多可以有1000K条记录。 问题答案: 要在模式具有表单的位置上做很多事情,您需要查找SQL Server的全文本索引功能,并使用代替。照原样,您正在执行全表扫描,因为普通索引对搜索以通配
问题内容: 我的应用程序使用单个查询来返回用户的所有权限,并且该单个查询具有10个INNER JOIN来创建整个结果集。 这是查询的预览(由于机密信息,我不得不更改表名): 这是执行计划(创建一些索引后,成本降低了,但是返回58k行仍需要39秒): 我该怎么做才能改善此查询? 更新 这是我创建的索引: 问题答案: 感谢您添加索引的说明。要基于表8的主要条件优化查询,您希望与WHERE子句关联的列位
我是复杂性分析新手。任务是给定一个非空字符串(如“Code”)返回一个字符串(如“CCoCodCode”)。我有两个程序在做同样的事情。 程序1: 所以,上面的一个非常简单,这个程序有O(n^2)复杂度。 程序2: 从另一个StackOverflow问题来看,的时间复杂度似乎为O(n)。在这种情况下,程序2也具有O(n^2)时间复杂度。 我的分析是正确的还是遗漏了什么?