草庐IT

OPTIMIZATION

全部标签

MySQL CLAUSE可以变成一个值吗?

我是mysql的新手。我要做的是创建一个新表,它是原始表的副本,在特定条件下多了一列。哪个条件出现为新列就是新表。我的意思是:让table成为给定点(x,y)的序列我想创建表temp为(x,y,r)wherer=x^2+y^2CREATEtempLIKEtable;ALTERTABLEtempADDrFLOAT;INSERTINTOtemp(x,y)SELECT*FROMtableWHEREx*x+y*y没关系,它给出了我想要的,但我的数据库比这个简单的例子要大得多,在这里我在两个表中计算了半径r的两倍。优化不是很好。有没有办法直接将子句传递到新列中?提前致谢。

MIN 和 MAX 的 MySQL 索引

任何人都可以从官方MySQLdocumentation澄清这一点吗?Indexesareused...TofindtheMIN()orMAX()valueforaspecificindexedcolumnkey_col.ThisisoptimizedbyapreprocessorthatcheckswhetheryouareusingWHEREkey_part_N=constantonallkeypartsthatoccurbeforekey_colintheindex.Inthiscase,MySQLdoesasinglekeylookupforeachMIN()orMAX()exp

MySQL 我怎样才能加快这个 SELECT 查询?

我有一个超过900万行的非常大的表,在我的软件中,我需要在一个循环中快速地对其进行选择查询。问题是查询需要将近4秒才能完成。这是其中一个查询(它们都相似,因为它们都有相同的WHERE子句,这会减慢它们的速度:SELECTMIN(id)FROM`04c1Tg0M`WHERE`tried`=0;我将tried列用作bool值。该值为1或0。这是该查询的EXPLAIN:--------+--------------------------+|id|select_type|table|type|possible_keys|key|key_len|ref|rows|Extra|+----+---

mysql - 索引对 mysql MEMORY 表有帮助吗?

我正在优化一个3GB的表作为MEMORY表,以便对其进行一些分析,我很好奇添加索引是否对MEMORY表有帮助。由于数据无论如何都在内存中,这只是多余的吗? 最佳答案 不,它们不是多余的。是的,继续使用索引。由于全表扫描在内存中的速度有多快,在具有非索引列的较小表上访问内存表的速度可能看起来几乎与索引表相同,但随着表的增长或加入它们一起制作更大的结果集会有不同。无论引擎使用何种存储方式(磁盘/内存),只要存储引擎支持,适当的索引都会提高性能。索引的实现方式可能不同,但我知道它们是在MEMORY、INNODB和MyISAM表类型中实现的

MySQL 性能 : Single table or multiple tables

我有8组数据,每组大约30,000行,数据结构相同,只是针对不同的语言。网站前端会获得比较高的流量。所以我的问题是关于MySQL的性能,如果我应该有一个包含一列的表来区分数据属于哪个集合(即列“语言”)或为每个语言集创建单独的表?(如果可能的话解释为什么会很有帮助)提前致谢沙迪 最佳答案 我会选择单表设计。具有适当索引的查找时间应该完全相同,无论表有多“宽”。除了性能问题,这将简化设计和与其他表(外键等)的关系。 关于MySQL性能:Singletableormultipletables

php - 共享主机网站优化(美国服务器)

我在godaddy上有一个托管服务器。我有经济计划,这是我当前项目的共享计划(在我获得流量和yield之前,我的预算很紧)我正在使用Linux,我的数据库中有数据(页面、用户等...)。当我显示/folder/pagex/时,我在内部将其重写为rewriterule^([^/]+)/([^/]+)/?index.php?f=$1&p=$2然后是查询数据库,获取数据,生成网页。一切都很好,但显然它必须经过一个过程从.htaccess中获取页面->查询数据库->生成->显示我想知道是否有更快的方法来执行此操作?比如跳过数据库查询,但仍然显示页面 最佳答案

MySQL预订网站: query/db optimization

我在大多数查询中的表现都非常糟糕。我已经阅读了很多关于stackoverflow的内容,但仍然有一些问题,也许有人可以帮助我或给我任何提示?基本上,我在一个预订网站上工作,其中包括以下表格:对象+----+---------+--------+---------+------------+-------------+----------+----------+-------------+------------+-------+-------------+------+-----------+----------+-----+-----+|id|user_id|status|type_

php - 将一个查询分成四个以避免大量连接?

所以我有一个看起来像这样的查询:SELECTcol1,col2,col3...FROMaction_6_membersmLEFTJOINaction_6_5ptsfONf.member_id=m.idLEFTJOINaction_6_10ptstONt.member_id=m.idLEFTJOINaction_6_weeklywONw.member_id=m.idWHERE`draw_id`='1'ORDERBYm.idDESCLIMIT0,20;现在这是在进行大规模连接(350万*4万*2万)所以我的想法是:执行SELECT*FROMaction_6_membersWHEREdraw

mysql - 如何优化大表上的这个 mysql 连接?

我有一个项目,管理员需要创建多个时事通讯,其中包含一些从网络上抓取的帖子。我在抓取完成后将帖子插入posts表中,并为它们分配一个feed_id以标识来源。这是posts表的结构(已截断):CREATETABLE`posts`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`feed_id`int(11)NOTNULL,`created_at`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,`updated_at`timestampNULLDEFAULTNULL,`identifier`varchar(255)DEF

php - 在字符串末尾查找最长的字典单词

我正在寻找最好的方法来搜索字符串末尾可能最长的字典单词的字母字符字符串。示例:对于字符串qbehugejackhammer,结果应该是jackhammer而不是hammer。一种稍微有效地做到这一点的方法是将单词以相反的形式存储在索引表中,并一次迭代一个字母,直到它不再匹配任何东西:SELECTwordFROMdictionaryWHEREwordLIKE'remmahkca%';SELECTwordFROMdictionaryWHEREwordLIKE'remmahkcaj%';#lastmatchSELECTwordFROMdictionaryWHEREwordLIKE'remma