我是Hive和SQL的新手。我目前正在查询数据库,以提取基于
SELECT * FROM database.table WHERE A = '980dsf9sfjklsdfj' AND B = '141519384938' AND C = 'URL'
A --> some id value
B --> timestamp value
c --> url
这些查询需要一段时间才能执行。我可以想象,当向表中添加更多数据时,这些查询可能会花费更长的时间。我怎样才能加快这个过程呢?我想,如果我先对时间戳值进行排序,它会使查询速度更快?
我在db中有以下字符串:
A/B/C/
A/B/D/
英/法/中/
是uri列。
下表如下:
create table meta_info (
id bigserial primary key,
uri varchar,
created timestamp with time zone,
version varchar,
binary_length bigserial
)
在大多数情况下,我会找到目录并希望找到子目录。
例如,
SELECT tt.stem[2+1] as current, tt.stem[2+2]
as child from (
我在7-10个单独的表上有一个父行和子行,有一个唯一的键将子表上的行绑定到父行。对于搜索特性,我需要根据对父表中数据的查询检索父行和所有匹配的子行。有多达5000个匹配的父行。目前,我们正在对每个子表重新运行查询,例如:
select data from child
where key in (select key from parent where search_criteria)
这看起来非常不优雅,特别是在我们继续添加更多子表的时候。在DB2中有更好的方法来做到这一点吗?
我的一些想法:
会重用该选择的结果吗?如果查询量很大呢?,我知道父查询之后的键,这样我就可以在SQL中传递它们,但
我有这个查询来获取最新的按电话号码分组的对话,但是查询时间太慢了。怎么会更快呢?
SELECT * from messages WHERE id IN (SELECT max(id) from messages GROUP BY phone) AND chat = :ch AND status = :st AND seller_id = :seller ORDER BY created_at DESC
DB版本10.2.44-MariaDB
我想使用星星之火SQL。我发现演出很糟糕。
在我的第一个解决方案中:当每个dataRDD查询出现时,将数据从hbase实体加载到dataRDD中,然后将该dataRDD注册到SQLcontext。最后执行spark查询。显然,这个解决方案非常糟糕,因为它每次都需要加载数据。
所以我改进了第一个解决方案。
在我的第二个解决方案中,不考虑hbase数据更新,而是插入
当应用程序启动时,从HBASE entity to a dataRDD, named cachedDataRDD加载当前数据。
将cachedDataRDD注册为SQLcontext
当每个SQL查询出现时,执行火花SQL查询。演出很
我有一个MDX查询,它是对特定成员进行过滤的,但我也需要它来返回实际的成员值。
例如:
SELECT NON EMPTY { [Measures].[__No measures defined] } ON COLUMNS, NON EMPTY { ([Archive].[SiteId].[SteId] }ON ROWS FROM [Model] WHERE ( {[Archive].[SiteId].&[{e7672ff4-7f0c-4806-8453-744a17bde4ca}],[Archive].[SiteId].&[{bb7d8f41-c88a-4bcb-ade8-d0
我正在构建一个水晶报表。查询来自一个很大的表,但我只能读取,不能添加索引。该表如下所示:
SampleTable (PersonID INT, Country VARCHAR(10), Purchase Real, PurchaseDateTime DateTime)
这里PersonID是一个键(索引),但是我需要查询一些与PersonID无关的东西:
SELECT Country
, Sum(Purchase) As Purchase
FROM SampleTable
WHERE PurchaseDateTime >= '2013-04-01 00:00
我有一个复杂的SQL Server查询,我想从Python中执行该查询,并以Pandas DataFrame的形式返回结果。 我的数据库是只读的,所以我没有像其他答案那样的很多选择,比如进行不太复杂的查询。 This answer was helpful,但我一直收到TypeError: 'NoneType' object is not iterable SQL示例 这不是真正的查询-只是为了证明我有临时表。使用全局临时表,因为我的查询以前使用本地临时表失败:See this question SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER O
SELECT *
FROM dbo.STSQ01
WHERE BegSchSessYr BETWEEN YEAR(GETDATE())-3 AND YEAR(GETDATE())-1 这是我的查询,从客户数据库中提取过去3年的数据,记录有数百万条,提取数据需要很多时间。怎样才能使我的查询运行得更快。请帮帮忙。谢谢
我想列出在同一个表上有匹配的所有行。到目前为止,我已经想出了这个
SELECT *
FROM parim_firms
WHERE firm_name IN (
SELECT firm_name
FROM parim_firms
GROUP BY firm_name
HAVING COUNT(*) > 1
)
但是这个查询仍然在运行,尽管子查询本身只运行了0.1秒。
我该如何优化它呢?
我认为子查询是针对每一行执行的,而不是只执行一次。我说的对吗?
我昨天对我的服务器进行了更新,以便跟踪用户页面查看情况。这些页面视图被发送到一个数据库,在该数据库中记录它们的ip地址、时间和被查看的页面。
在我的每个页面的底部,我现在有一个复杂的SQL语句,它通过检查页面所查看的内容来确定要显示哪些页面。
无论如何,由于某种原因,我的SQL正在随机地为这个查询创建一个表。
以下是查询:
SELECT
*
FROM posts
LEFT JOIN impressions ON
impressions.ID = posts.ID AND impressions.time > '1444400410' AND (`ip
在我的项目中,我有一个循环,它运行相同的查询,但具有不同的限制值。在前10个循环周期中,查询以可接受的速度执行,但随后速度变慢。我要查询的表有15万个寄存器,column1是整数,我的查询是:
SELECT * FROM my_table ORDER BY column1 ASC LIMIT 0,1000
...
SELECT * FROM my_table ORDER BY column1 ASC LIMIT 9000,10000
据我所知,它每次对所有15万个寄存器进行排序。但是如何只在指定的范围内对寄存器进行排序呢?怎样才能让这个查询更快地工作呢?
我想使用if-else优化这些SQL查询,但是我应该如何使用它呢?如果该查询结果包含'ALL‘ SELECT
bdsubcategory.subcategoryID as ID,
bdsubcategory.subcategoryName as Name
FROM
phonebook.newsms_subscription
INNER JOIN bdsubcategory ON bdsubcategory.subcategoryID = newsms_subscription.subcategoryID
INNER JOIN newsms_client ON newsms_subsc
我正在尝试运行下面的SQL语句,该语句在Oracle中用了很长时间才完成。
以下是我的疑问:
SELECT timestamp from data
WHERE (timestamp IN
(SELECT MIN (timestamp) FROM data
WHERE (( TIMESTAMP BETWEEN :t1 AND :t2))
如果有人能帮助优化这个查询,我将非常感激。
我有以下SQL查询:
SELECT DISTINCT
Participant.BackgroundTrainingID,
Location.TrainingSite
FROM Registration, ProgramLocation, Participant, Program, Location
WHERE ProgramLocation.LocationID = Location.LocationID
AND ProgramLocation.ProgramID=Registration.ProgramID
AND Registration.ParticipantID
我有由.NET Entity Framework3.5生成的SQL语句(已经在EF3.5上做了优化,我们很快就会升级到4),并在2005SQL Server上运行。我知道有很多文章大体上讨论SQL性能,但我没有找到解决我的问题的具体方法。对于这种情况,我需要一个参考或解决方案:在ASP.NET应用程序中,有一个表包含某些信息(大约6-7列),当用户对表执行排序操作时,检索信息需要7-15秒(...这是糟糕的性能,因为应用程序是业务内部的)。
我运行了文章中的usp_Worst_TSQL:,我了解了性能问题的来源:有几个使用WHERE、INNER & LEFT JOIN和ORDER BY
我有一个SQLite表,其中包含大量数据,有数百万行。大约每秒都会插入一行。
这些行有一列表示创建日期,该日期从Epoch开始转换为毫秒,并保存为一个数字,如1343224574667。每一行也有一个容器ID列,它只是一个字符串字段。
我正在尝试运行一个查询,以获取在特定时间范围内为某个容器Id创建的项。所以查询看起来应该是这样的
Select * from Item where Created > [number] and Created < [number] and ContainerId=[string]
非常基本的查询。
我在表上有一些索引。有一个在Created上,还有一
我有一个简单的select查询,如下所示,它只有2列:
SELECT a, b FROM table;
我随身携带了一些映射数据,如下所示:
if a=1 and b=1 then c=100
if a=1 and b=2 then c=200
if a=2 and b=1 then c=300
and so on.
现在,我需要创建一个查询,这样我就可以得到如下输出:
1,1,100
1,2,200
2,1,300
and so on
在这里,我不想创建一个表并存储映射数据。我可以在PL/SQL中创建任何数据结构来存储它。
我如何才能做到这一点?
PS:我尝试使用PL/SQL表和INNER
SELECT links.*
FROM links
INNER JOIN (
SELECT keywords_links.link_id
FROM keywords_links
INNER JOIN keywords ON keywords_links.keyword_id = keywords.id
WHERE keywords.keyword
IN ("facebook", "google", "apple")
GROUP BY keywords_links.link_id
) t
ON links.id =