我有一张包含超过 2.6 亿条记录的表。我已经为表创建了分区并对其进行了索引。
CREATE TABLE qt_al_90k
(
rec_id integer,
user_id integer,
user_text text,
user_number double precision,
user_date date,
user_seq integer,
my_sequence integer
) PARTITION BY RANGE (rec_id);
Run Code Online (Sandbox Code Playgroud)
分区查询:
CREATE TABLE qt_al_90k_rec_id_1 PARTITION OF qt_al_90k FOR VALUES FROM (0) TO (100000);
CREATE TABLE qt_al_90k_rec_id_2 PARTITION OF qt_al_90k FOR VALUES FROM (100000) TO (200000);
CREATE TABLE qt_al_90k_rec_id_3 PARTITION OF qt_al_90k FOR VALUES FROM (200000) TO (300000);
CREATE TABLE qt_al_90k_rec_id_4 PARTITION OF qt_al_90k FOR VALUES FROM (300000) TO (400000);
CREATE TABLE qt_al_90k_rec_id_5 PARTITION …Run Code Online (Sandbox Code Playgroud) 我有这样的查询,应该在每个MySQL操作后执行.此查询现在正在减慢页面加载速度,因为数据增加了,我做了所有事情,如正确的索引,但查询仍然相对较慢.
有没有其他方法来执行这些检查?
$query = "
UPDATE {$tprefix}wh_profg
SET status =
CASE
WHEN
batchno in (
select
batchno
from
{$tprefix}wh_profulldetail
where
remainingdays <= 0
)
THEN
'expired'
WHEN
QC = 'rejected' and QA != 'rejected'
and status != 'expired'
THEN
'QC-rejected'
WHEN
QA = 'rejected' and QC != 'rejected'
and status != 'expired'
THEN
'QA-rejected'
WHEN
QA = 'rejected' and QC = 'rejected'
and status != 'expired'
THEN
'QA&QC-rejected'
WHEN
(
batchno in (
select
batchno
from
{$tprefix}wh_profulldetail
where
available <= …Run Code Online (Sandbox Code Playgroud) 我需要FULL OUTER JOIN多个表。我知道如何FULL OUTER JOIN从这里到两张桌子。但是我有几张表,我无法将其应用于它们。我怎样才能实现它?
我的SQL代码如下:
INSERT INTO table
(
customer_id
,g01
,g02
,g03
,has_card
,activity
)
SELECT sgd.customer_id, sgd.g01,sgd.g02,sgd.g03,sc.value, a.activity
FROM s_geo_data sgd
LEFT JOIN s_category sc
ON sc.customer_id = sgd.customer_id
UNION
SELECT sgd.customer_id, sgd.g01,sgd.g02,sgd.g03,sc.value, a.activity
FROM s_geo_data sgd
RIGHT JOIN s_category sc
ON sc.customer_id = sgd.customer_id
UNION
SELECT sgd.customer_id, sgd.g01,sgd.g02,sgd.g03,sc.value, a.activity
FROM s_geo_data sgd
LEFT JOIN s_activity a
ON a.customer_id = sgd.customer_id
UNION
SELECT sgd.customer_id, sgd.g01,sgd.g02,sgd.g03,sc.value, a.activity
FROM s_geo_data sgd …Run Code Online (Sandbox Code Playgroud) 我有以下查询.由于其中的子查询,这会降低性能.我尝试了很多来添加Join而不是Subquery.但是徒劳无功 任何人都可以告诉我如何使用JOIN重写此查询?
update Table_1
set status = 'Status_2'
where status ='status_1' and (col_1, col_2, col_3, nvl(col_4,0), col_5) in (
select col_1, col_2, col_3, nvl(col_4,0), col_5 from Table_2 where status ='Status_0');
Run Code Online (Sandbox Code Playgroud)
请看SELECT * FROM table(DBMS_XPLAN.Display);下面的内容
Plan hash value: 1290346170
------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------------
| 0 | UPDATE STATEMENT | | 1 | 376 | 456 (3)| 00:00:06 |
| 1 | UPDATE | Table_1 | | …Run Code Online (Sandbox Code Playgroud) 我有一个永远不会完成的查询(剩下运行超过24小时但仍在继续).
现在每个表中没有大量数据,所以我只能假设它是我编写的查询的效率.
SELECT DISTINCT s.supplier_id
FROM supplier_info s
INNER JOIN purchase_order_line_all po ON s.supplier_id = po.vendor_no
INNER JOIN purchase_req_line_all pr ON s.supplier_id = pr.vendor_no
INNER JOIN man_supp_invoice m ON s.supplier_id = m.IDENTITY
WHERE s.creation_date >= TRUNC(SYSDATE) - INTERVAL '6' MONTH
OR po.state NOT IN ('Closed', 'Cancelled')
OR pr.state NOT IN ('PO Created', 'Cancelled')
OR m.invoice_date >= TRUNC(SYSDATE) - INTERVAL '18' MONTH
Run Code Online (Sandbox Code Playgroud)
执行计划
Plan hash value: 2195330353
-------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| …Run Code Online (Sandbox Code Playgroud) 我是 Cassandra CQL 的新手,我想获得 Cassandra 查询执行时间。我可以在 CQL shell 中通过将当前时间存储在变量中来执行查询,然后将当前时间存储在另一个变量中,并通过计算两个变量的差异来计算实际执行时间。谁能指导我。
我们将一些文档存储在 SQL Server 数据库VarBinary(Max)列中。大多数文档只有几 KB,但有时可能有几 MB。
当文件大于 4MB 左右时,我们会遇到问题。
VarBinary在本地 SQL Server 中更新列时,速度非常快(8MB 文件只需 0.6 秒)。
在 SQL Azure 上的相同数据库上执行相同的语句时,需要超过 15 秒!
此外,如果代码从 Azure 应用服务运行,速度会非常慢。所以问题不是我们的互联网连接。
我知道在 SQL Server 中存储文件不是首选的存储方式,Blob 存储通常是最佳解决方案,但我们有特殊原因需要这样做,所以我想将其排除在讨论之外;-)
在调查执行计划时,我看到“Table Spool”一直在占用时间,但我不确定为什么。以下是本地和 Azure 的执行计划。
相同的数据库和数据。如果有人可以提供帮助,那就太好了。
谢谢克里斯
t-sql sql-server query-performance azure-sql-database azure-sql-server
因此,我和我的朋友正在争论是否使用 BEFORE Trigger 或 ON UPDATE CURRENT_TIMESTAMP 来更新表的列值updated_at。顾名思义,该列的用途只是存储行更新的最后时间。
他已经为相同的事件设置了触发器-BEFORE
BEGIN
set NEW.updated_at := current_timestamp();
END
Run Code Online (Sandbox Code Playgroud)
我认为我们应该使用 ON UPDATE CURRENT_TIMESTAMP 属性,因为这是 MySQL 为相同的事件提供的默认触发器AFTER。
我尝试在文档中搜索性能差异,但一无所获。有什么帮助吗?
我的表包含三列。如果我NVARCHAR(MAX)在 select 语句中选择列,我会发现性能很差。是否可以在列上创建索引NVARCHAR(MAX)?
CREATE TABLE TEST
(
id primary key,
product VARCHAR(50),
Title NVARCHAR(max)
)
INSERTING MILLIONS OF RECORDS....
SELECT product, Title
FROM TEST
Run Code Online (Sandbox Code Playgroud)
该表包含数百万条记录。如何为该列创建索引?它真的能提高我的 select 语句的性能吗?或者有其他方法可以改善这个问题吗?
我有一个不太复杂的(imho)过滤逻辑,基于我的 Django 模型中的几个条件。有一个特定的查询需要通常的时间才能完成。
该查询是基于这两个查询集构建的:
queryset = self.serializer_class.Meta.model.valid_pricelist_objects.filter(
Q(drug_prices__pricelist__price_destination__to_all_insurances=True
) |
# pylint: disable=line-too-long
Q(
drug_prices__pricelist__price_destination__to_organization_data__organization__uuid
=self.kwargs.get('i_uuid')))
return queryset
Run Code Online (Sandbox Code Playgroud)
和
return super().get_queryset().filter(
Q(active=True),
Q(drug_prices__pricelist__active=True), # Lista de precios activa
# Q(drug_pictures__is_main=True), # Que tenga una imagen
# TODO: Hacer filtros por pais PriceListCountries
Q(
Q(drug_prices__pricelist__expires=False) | # Que tenga precios que no caducan o
Q(
Q(drug_prices__pricelist__expires=True), # Que tenga precios que si caducan Y
Q(drug_prices__pricelist__datestart__date__lte=timezone.now()), # Fecha de inicio menor que hoy Y
Q(drug_prices__pricelist__dateend__date__gte=timezone.now()) # Fecha final mayor que hoy
) …Run Code Online (Sandbox Code Playgroud) sql ×4
mysql ×3
oracle ×2
cassandra ×1
cql ×1
cqlsh ×1
database ×1
datetime ×1
django ×1
java ×1
join ×1
nvarchar ×1
orm ×1
outer-join ×1
postgresql ×1
python ×1
sql-server ×1
sql-tuning ×1
t-sql ×1