我已经将我的drupal站点从一台mysql服务器移到了另一台。
旧机器有1个cpu,1 4GB内存新机器有4个cpu,4 4GB内存。
我在这个查询的性能上有一个巨大的负面差异(2分钟对2秒)
select distinct c.client
from client_table c
LEFT JOIN reps r on ( c.client = r.client )
where r.user_id is NULL
AND c.client not in ( select distinct client from billing where first
我试图使用一个在多个表上留下联接的查询来获取数据。查询返回4132行,持续时间为4.55秒,mysql workbench中的提取时间为31.30秒。我甚至试图从php中执行它,但这需要同样的时间。
SELECT
aa.bams_id AS chassis_bams_id, aa.hostname AS chassis_hostname,
aa.rack_number AS chassis_rack, aa.serial_number AS chassis_serial, aa.site_id AS chassis_site_id,
cb.ba
在mysql中有很多慢查询,只与update和delete相关。这些表有2个索引列,没有繁重的索引表。每个表平均有30K条记录。
请给出您的建议,如何克服与更新和删除查询相关的慢查询。这些类型的查询:
DELETE FROM <table2>
WHERE ID IN (SELECT ID
FROM <table1> WHERE ID2=100);
...or:
UPDATE <table1>
SET <colmunname>=0
WHERE id=1001;
我有一个表(MyISAM),其中包含列views_total、views_24h、views_7d和views_30d。views_24h =最近24小时的视图,views_7d =最近7天等等。所有这些列都是INT和INDEX,因为我是按它们进行排序的。
每小时(24小时),或者每天(7天,30天),我使用UPDATE ... JOIN (... UNION ALL ...) USING ... SET ... UPDATE更新这个列大约需要2.5秒。(100-120K行),但是在更新这些列之前,我应该将它们设置为null。所以,我正在做UPDATE table SET views_24h
最近,我了解到可以使用以下带有OR的select语句在多个列中搜索MySQL表:
SELECT * data WHERE TEMP = "3000" OR X ="3000" OR Y="3000";
返回所需的结果,但返回只有~260 k行的表中的结果大约需要1.7秒。我还为搜索的每个列添加了索引。
是否有优化此查询的方法?或者还有另一个速度更快但返回相同结果的方法?
我正在MySQL上工作,面临着一个服务器加载时间的问题。下面是我的表的结构和查询:
我需要从message(超过560万行)表中提取50行。message表具有类似于(id,description,author_id,timeline_id)的属性,条件是每个author_id都存在于users(超过38K行)表中。
表创建脚本为:
CREATE TABLE IF NOT EXISTS `messages` (
`id` int(11) NOT NULL,
`post_description` text() NOT NULL
`author_id` int(11) NOT NULL