jjzjj

当文档数达到 100, 000 左右时,mongodb 变慢了。有什么性能优化吗?

我运行了一个单一的mongodb实例,它被插入了来自应用服务器的日志。当前生产中的插入速率是每秒10个插入。它是一个上限集合。我不使用任何索引。当记录数量较少时,查询运行得更快。只有一个集合具有该数量的数据。即使从行数很少的集合中查询也变得非常慢。有什么办法可以提高性能。-阿维纳什 最佳答案 这是一个很难回答的问题,因为我们对您的配置或文档结构了解不多。我脑海中立刻浮现的一件事是您的内存不足。每秒10次插入并没有多大意义,因为我们不知道插入的文档有多大。如果您以每秒10个的速度插入较大的文档,您可能会耗尽内存,导致操作系统将您的一些

mysql - 为什么在将列从 VARCHAR 转换为 DATETIME 后查询运行速度变慢

我有一个表,其中有一列record_datetime,它曾经是一个VARCHAR。我尝试将其更改为DateTime,因为它应该如此,但查询花费了更多时间[几乎多了10倍]。为什么会变慢??这个表有接近1亿行,record_datetime是一个索引。我尝试运行的测试查询是SELECT*FROMtable1WHERE`record_datetime`>='2012-06-1200:00:00'AND`Source`=6ORDERBY`redord_datetime`Source是PRIMARYKEY的一部分,它是user_id、record_datetime和Source的组合。reco

mysql - 两次连接表会使查询变慢

我的问题是,在同一张表上两次使用JOIN时,我的查询速度非常慢。我想检索给定类别中的所有产品。但是由于产品可以属于多个类别,我还想获得应该提供URL基础的(c.canonical)类别。因此,我在categoriesASc和categories_productsAScp2上有2个额外的JOIN。原始查询SELECTp.product_idFROMproductsASpJOINcategories_productsAScpONp.product_id=cp.product_idJOINproduct_variantsASpvONpv.product_id=p.product_idWHER

php - mysql中的'IN'子句使执行速度变慢,还有其他选择吗?

我有一个名为“语言”的表,如下所示personid|lang-------------------1|english1|french1|italian2|italian3|french3|italian4|japanese我希望选择所有具有personid1知道的任何语言的personid。(也就是说,任何具有英语、法语或意大利语值的personid)我使用了以下查询并得到了解决方案。但它似乎有点慢。(我认为这是由于“IN”子句)。是否有任何其他查询选项可以加快执行速度。SELECTdistinctpersonidFROMlanguageWHEREpersonid!=1ANDlangI

mysql - 如何找出导致应用程序变慢的原因?

这不是典型的问题,但我没有想法,不知道还能去哪里。如果有更好的地方可以问这个问题,请在评论中指出我的位置。谢谢。情况我们有这个使用ZendFramework的网络应用程序,因此在Apache网络服务器上以PHP运行。我们使用MySQL进行数据存储,使用memcached进行对象缓存。该应用程序具有非常独特的使用和加载模式。这是一个移动web应用程序,其中cronjob每隔一整小时就会在数据库中查找有一些信息等待或要执行的操作的用户,并将这些信息发送到(外部)通知服务器,通知服务器将这些通知推送给他们。用户收到这些通知后,会转到应用程序并使用它,大部分时间很短。一个小时后,同样的事情发生

mysql - ORDER BY 子句使查询变慢,尽管结果集很小

我有以下表格(删除了不相关的内容):createtablePayment(idintnotnullauto_increment,statusintnotnull,primarykey(id));createtableBooking(idintnotnullauto_increment,paymentIdintnotnull,nrOfPassengersintnotnull,primarykey(id),keypaymentFK(paymentId),constraintpaymentFKforeignkey(paymentId)referencesPayment(id));Bookin

MySQL索引导致查询变慢

我有一个MySQL表,其中包含大约2000万行数据。+-------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------------+-------------+------+-----+---------+----------------+|id|bigint(20)|NO|PRI|NULL|auto_increment||b_id|int(11)|YES|MUL|NULL|||order|bigint(20)|YES|MUL|N

php - 查询中的连接函数使查询运行速度变慢

我有两个表都包含大约200,000条数据。我写了一个如下所示的查询来使用一些连接来检索数据。这是我试过的查询$dbYTD=DB::table('stdtsumasa')->join(DB::raw("(selectdistincts_id,c_cod,compidfromstdcus)b"),function($join){$join->on('a.compid','=','b.compid')->on('a.c_cod','=','b.c_cod');})->select('b.s_id',DB::raw('sum(turnover)assumturn'))->whereBetwee

php - Mysql PHP 脚本变慢需要重构

您好,我有2个mysql表,它们都需要更新,companiesunique_code公司拥有100万条记录,我需要为每条记录分配一个唯一代码,我遇到的问题是我的PHP脚本抓取了所有公司,并在foreach循环中从表unique_code抓取一个唯一代码并更新,然后它还会更新unique_code用于标记已使用代码的表格。PHP代码挂起很长时间并达到最大执行限制。我真的很困惑,需要这些公司有一个独特的代码,谁能想到另一种方法?精简代码示例。foreach($aCompaniesas$companies){$query="SELECT*FROMunique_codeWHEREused=0"

MySQL 升级后 MySQL NOT IN 查询速度变慢

这是一个非常简单的查询:SELECT*FROMtemp_companyWHEREnumberNOTIN(SELECTnumberFROMcompany)之前需要15分钟,但那是在缓冲池大小太小的Mysql安装上,15分钟没问题,因为这是每月任务。我升级到Mysql5.7(从5.1或5.2之类的东西),因为原始安装是32位,我无法将innodb缓冲池大小增加到该数据库所需的最小10gb(我在一台机器上将其设置为16GB32GBRAM。一个月后我去运行这个查询,它在6小时后仍在运行。上面的解释是:id|select_type|table|partitions|type|possible_k