草庐IT

OPTIMIZATION

全部标签

mysql - 高效的 MySQL 模式,对巨大的数据集进行分区(7.300.000.000 行和大约 80 GB 的数据)

这是对我的问题“高效存储7.300.000.000行”(Efficientlystoring7.300.000.000rows)的跟进。我决定使用MySQL进行分区,初步架构如下所示:CREATETABLEentity_values(entity_idMEDIUMINTUNSIGNEDDEFAULT0NOTNULL,#3bytes=[0..16.777.215]date_idSMALLINTUNSIGNEDDEFAULT0NOTNULL,#2bytes=[0..65.535]value_1MEDIUMINTUNSIGNEDDEFAULT0NOTNULL,#3bytes=[0..16.7

mysql - 为什么带有 InnoDB 的 MySQL 在键存在时进行表扫描并选择检查 70 倍以上的行?

我正在解决查询性能问题。这是来自解释的预期查询计划:mysql>explainselect*fromtable1wheretdcolbetween'2010-04-1300:00'and'2010-04-1403:16';+----+-------------+--------------------+-------+---------------+--------------+---------+------+---------+-------------+|id|select_type|table|type|possible_keys|key|key_len|ref|rows|Ex

mysql - 我需要一些帮助来优化我的数据库模式

这是我的数据布局:Heading1:SubheadingSubheadingSubheadingSubheadingSubheadingHeading2:SubheadingSubheadingSubheadingSubheadingSubheadingHeading3:SubheadingSubheadingSubheadingSubheadingSubheadingHeading4:SubheadingSubheadingSubheadingSubheadingSubheadingHeading5:SubheadingSubheadingSubheadingSubheadingSu

sql - 加速这个大 JOIN

编辑:以下解释观察结果的问题存在错误。我可以删除问题,但这可能对某人仍然有用。错误是在服务器上运行的实际查询是SELECT*FROMt(这很愚蠢),而我认为它正在运行SELECTt.*FROMt(这使得所有的区别)。请参阅tobyobrian的回答及其评论。在具有如下架构的情况下,我的查询速度太慢。表t具有由t_id索引的数据行。t通过联结表t_x和t_y连接表x和y仅包含JOIN所需的外键:CREATETABLEt(t_idINTNOTNULLPRIMARYKEY,datacolumns...);CREATETABLEt_x(t_idINTNOTNULL,x_idINTNOTNULL

MySQL 表组织和优化 (Rails)

在过去的几个月里,我一直在学习RubyonRails,之前没有任何编程经验。最近,我一直在考虑数据库优化和表组织。我知道有很多关于这个主题的好书,但我通常通过示例/边学边学。假设情况:假设我正在为一个拥有250,000名成员(用户)的小众社区构建一个社交网络。用户可以参加事件。假设有50,000个过去/现在/future的事件。与Facebook事件非常相似,用户可以参加任意数量的事件,并且一个事件可以有任意数量的参与者。在数据库中,会有一张用户表和一张事件表。我将不得不以某种方式在用户和事件之间创建关联。我可以在用户表中创建一个“事件”列,以便每个用户行都包含事件ID的散列,或者我可

mysql - `=` 和 `<=>` 之间有性能差异吗?

我最近更改了我所有的where条件以使用而不是=因为我需要检查空值。是否存在任何性能问题? 最佳答案 这里没有真正的性能影响,自己测试一下mysql>SELECTBENCHMARK(1000000,(SELECTSQL_NO_CACHEuserIdFROMActivityWHEREuserId42459204LIMIT1));确保您需要使用NULL-safeequal.Thisoperatorperformsanequalitycomparisonlikethe=operator,butreturns1ratherthanNULLi

mysql - Rails 3 - 将多个计数转换为单个查询 - OrderedHash

我有一个初始化方法,它做了一件愚蠢的事情。我需要将其优化为一个查询,但目前我的SQL技能让我失望了。我已经设想过使用GROUPBY和UNION以及各种各样的东西,但我只是让自己更加困惑。我将此遗赠给社区以提供一些见解:ClassStats#Turnthesethreequeriesintoonequerythatwecanthen#loadintothethreedifferentinstancevariablesdefinitialize(question)#Integer=totalnumberofanswersforthisquestion@total=total_answers

php - 基于用户级别不同的mysql join查询

我正在寻找执行以下操作的想法或最佳实践:我有表格:profile包含基本信息(id、email、pass、lvl)profile_user包含(pid、姓名、年龄等)profile_mod包含(pid、company_name、money等)如您所见,我将对两个表进行左连接以获取全部信息,但连接将全部基于属性lvl。如果lvl=1它将在profile_user上左连接,而lvl=2将在profile_mod上执行连接。我的问题是,我不想对每个查询执行检查以获取lvl,然后对其他两个表执行leftjoin。我想知道这种情况是否有最佳实践。 最佳答案

Mysql 查询优化、EXPLAIN 和执行缓慢

一些查询存在一些实际问题,尤其是这个问题。信息如下。tgmp_games,大约20k行CREATETABLEIFNOTEXISTS`tgmp_games`(`g_id`int(8)NOTNULLAUTO_INCREMENT,`site_id`int(6)NOTNULL,`g_name`varchar(255)NOTNULL,`g_link`varchar(255)NOTNULL,`g_url`varchar(255)NOTNULL,`g_platforms`varchar(128)NOTNULL,`g_added`datetimeNOTNULL,`g_cover`varchar(255

c# - MySQL预处理器优化

有人知道MySQL在启动查询之前是否涉及任何预处理器优化吗?考虑以下查询:stringquery="SELECTgiveaway_idFROMgiveawaysWHEREstatus>=@minStatusANDstatus=@minTypeANDtype如果@minStatus和@maxStatus是平等的,以及@minType和@maxType,我们可以用更优化的形式编写上面的查询:stringquery="SELECTgiveaway_idFROMgiveawaysWHEREstatus=@minStatusANDtype=@minType";我想知道MySQL是否足够聪明,可以