草庐IT

文献速度

全部标签

php - 将私有(private)消息 'body' 字段存储在单独的表中以提高速度

我为我的用户创建了一个私有(private)消息传递系统,该系统是在带有mysql后端的php中创建的。系统会删除旧消息,但通常会保留超过500,000条消息。目前所有数据都包含在一张表中:message_tablemessage_id(int11)message_from_id(int11)message_to_id(int11)message_timestamp(int11)message_subject(varchar50)message_text(text)大部分消息都很短,所以我正在考虑将系统更改为:message_tablemessage_id(int11)message_

mysql - 如何提高此 MySQL 查询的速度?

这是查询:SELECTu.uidasUID,fuo.uidasFUO_UID,fo.pridasFO_NAMEFROMusersuLEFTOUTERJOINfirstpoint_users_organisationsfuoON(u.uid=fuo.uid)LEFTOUTERJOINfirstpoint_organisationsfoON(fo.nid=fuo.nid)WHEREu.status=1ANDu.uid>1ORDERBYu.uidLIMIT3;还有表格:users+------------------+------------------+------+-----+-----

mysql - 为什么带有 'exists' 的 sql 运行速度比使用 MySQL 的 'in' 慢

我是MySQL优化的新手,我发现了一个惊人的事情:带有'exists'的sql运行速度比使用'in'慢!!!以下是我的DDL:mysql>`showcreatetableorder\G`;***************************1.row***************************Table:orderCreateTable:CREATETABLE`order`(`id`int(4)NOTNULLAUTO_INCREMENT,`employee_id`int(4)NOTNULL,`price`decimal(7,2)NOTNULL,`trade_date`tim

mysql - 远程mysql服务器速度

我经常使用MAMP在Wordpress上开发网站。使用在本地主机上运行的数据库,该站点运行得非常快。有时我需要使用在我们托管在DigitalOcean的开发服务器上运行的共享数据库,以便多个开发人员可以在该站点上工作。切换到此远程数据库时,站点速度要慢得多。我可以在30毫秒内ping服务器,我们的互联网连接速度很快。我们是否可以做一些调整来使远程设置更好地工作?我怎样才能最好地对速度差异进行基准测试? 最佳答案 当您的数据库位于本地时,没有网络延迟,但是当您的数据库位于远程时,会存在网络延迟,具体取决于服务器上发生的网络事件。此外,

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

mysql - mysql 更新/设置语句的速度。乘以一列

我在MySql表“temp”中有100万行,并希望将列“t”(intunsigned,indexed)乘以1000。mysql>updatetempsett=1000*t;此过程需要25秒。在非索引列上执行相同的语句需要10秒;有什么想法可以加快这个过程吗?我必须在超过1e5个表上应用它。 最佳答案 您可以关闭索引并在更新完成后重新打开ALTERTABLEtbl_nameDISABLEKEYS;ALTERTABLEtbl_nameENABLEKEYS;或者如果你正在使用myISAM您可以使用delay_key_write标志。您可以

mysql - 如何使用哈希表优化查询速度

大约有100万条记录。分页系统需要查询。查询看起来像这样:SELECTfield1,field2,field3FROMtableWHEREfield4='$value'ORDERBYfield5ASClimit$offset,30;field4和field5上有索引。我听说:制作另一个表(表6)是表4的索引散列?搜索数字而不是文本会快很多,所以查询类似于:SELECTfield1,field2,field3ForceIndex(Table6)FROMtableWHEREfield6='$hashvalue'ANDfield4='$value'ORDERBYfield5ASClimit$

php - Prepared Statements 没有速度优势?

我听说如果多次执行查询,MySQL数据库的准备语句可以提高速度,我认为我在项目中有一个理想的案例。但是我运行了一些基准测试并发现了完全相反的情况。我是否使用了这些语句错误(对于准备语句来说不是理想的情况),或者它们没有我想象的那么快?情况是锦标赛结果网格。有多所学校参加了多项事件,每所学校的每项事件都有一个分数。为了获得个别学校的所有事件的分数,它需要一个带有LEFTJOIN的SQL查询,例如:SELECTe.`id`,e.`name`,c.`competing`,c.`raw`,c.`final`FROM`events`eLEFTJOIN`scores`cONe.`id`=c.`ev

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

mysql - 在 MySql 中使用 FIND_IN_SET 的查询速度

我对产品目录的查询有几个问题。查询如下:SELECTDISTINCT(cc_id)FROMcms_catalogoJOINcms_catalogo_linguaONccl_id_prod=cc_idJOINcms_catalogo_famigliaON(FIND_IN_SET(ccf_id,cc_famiglia)!=0)JOINcms_catalogo_categoriaON(FIND_IN_SET(ccc_id,cc_categoria)!=0)JOINcms_catalogo_sottocatON(FIND_IN_SET(ccs_id,cc_sottocat)!=0)LEFTJO