我想做一个查询,但是查询速度很慢,我有五个这样的模型:
class Mya < ActiveRecord::Base
has_many :mybs
end
class Myd < ActiveRecord::Base
belongs_to :myc
end
class Myc < ActiveRecord::Base
belongs_to :myb
has_many :myds
has_many :myes
end
class Myd < ActiveRecord::Base
belongs_to :myc
end
MyISAM查询结果太慢,我应该做哪些更改,
if
Ram 16 DB 500 DB
mysql> SHOW STATUS LIKE 'key%'
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 275029 |
| Key_b
我想更新mysql表上的数据,这个表有2.258.164行,有查询
select ch_0
from bmkg.tb_datastore_2017
WHERE id_station='150001'
AND date_time<'2017-02-06 17:30:00'
and DATE_FORMAT(`date_time`,'%Y-%m-%d') = '2017-02-06'
order by date_time Desc limit 1
这个查询需要55-60秒,太慢了,请帮我优化一下。谢谢,Warmest问
我有一个MySQL数据库(InnoDB),表users有一个username列。在Rails网站上,我有一个功能,可以让用户以他们的用户名搜索某个人。在打字时,网站会提示用户正在搜索的是谁(打印前w/引导)。目前我正在使用MySQL,SELECT `username` FROM users WHERE `username` LIKE 'the_query%' LIMIT 15;中的查询
存在的问题是速度。该表大约有500,000行,这样的查询似乎需要大约秒,这在动态生成猜测时太慢了。我能做些什么来提高绩效呢?100毫秒以下的是合适的。也许还有比使用MySQL来处理搜索更好的方法
问题是从MySql读取信息模式..。太慢了:
步骤:
1. MySql dump created manually by scripting all objects from existing
MySql db which is on AWS. (MySql Version 5.7)
2. Restored dump file on to Azure MySql (Version 5.7)
3. Re-pointed Application (Appian) which sits on AWS to newly created MySql db on Azure.
4. When tri
对于从50k行的数据库中选择100行随机行的查询,我遇到了问题。
首先,我只使用函数RAND(),但这变得太慢了。
现在我使用以下查询:
$query = mysql_query("SELECT t1.* FROM users AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM users WHERE picture != '' && age <= 50 && age >= 18 && username != '')) AS id) AS
当查询包含数百万个文档的MongoDB集合,并对非索引字段进行过滤或排序时,查询运行速度太慢,因为mongo需要扫描整个集合。在Mysql上,这可以通过执行子选择只过滤最后40k行来实现,例如:
select c.name, c.age, c.address //another fields
from (select * from myTable order by id desc limit 40000) as c
where c.name = 'My name' //more and more filters
order by c.date_req desc
lim
我有一个为CMS记录各种事务的表。它记录用户名、操作和时间。我执行了以下查询,以告诉我每个用户在过去两天内进行了多少交易,但对于我来说,在这一点上发送一堆单独的查询太慢了。我是否遗漏了编写嵌套查询的基本规则?
SELECT DISTINCT
`username`
, ( SELECT COUNT(*)
FROM `ActivityLog`
WHERE `username`=`top`.`username`
AND `time` > CURRENT_TIMESTAMP - INTERVAL 2 DAY
) as `cou
我创建了一个包含id和name列的Innodb表,并运行以下查询
insert into test (name) VALUES('test');
耗时.5秒
甚至
SELECT id FROM test LIMIT 1
或
select 1
只需.5秒左右
任何关于我在哪里可以读到更多关于如何提高速度的建议都会很有帮助。我认为这些查询花费的时间不会超过.05秒。重新启动服务器并检查/修复/分析没有帮助。
有没有检查基本查询时间这样的事情?即查询可以运行的最快速度?我想知道是不是服务器太慢了,平均负载并没有说明它被过度使用了。
我正在使用mysql查询浏览器来测试这些语句。
我在MySQL上遇到了一个有趣的问题。当我试图用某个大整数乘以RAND()函数时,我得到了非常小的最大随机数。下面是我的MySQL查询,这应该是一个非常快速的随机查询,但是它返回IDs 36000,即使有4600000+ ID。
SET @maxID=(SELECT MAX(id) FROM property); #it's about 4600000
SELECT * FROM property
WHERE
downloaded_at IS NULL
AND id >= FLOOR(1 + RAND() * @maxID) #this returns max +/-3600
我在这里和其他地方读过10多篇相关文章,但仍然找不出这一篇文章,这对php和MySQL来说是相当陌生的:
我正在使用WordPress,并试图在旧主题中实现嵌套注释。我的表都设置好了(让我们称之为“注释”),并有以下字段:
comment_ID | comment_date | comment_parent, etc.
在顶级注释中,comment_parent保持为等于0;它等于嵌套答复中答复的注释的comment_ID。
原始的MySQL查询如下所示:
SELECT * FROM $wpdb->comments
WHERE comment_post_ID = %d AND comm