草庐IT

group_keys

全部标签

mysql - 如何使 GROUP BY SUBSTRING 查询更快?

我有一个具有以下结构的表:idbigNumbertext11200321030011010233"anitemwithsometext"21200321030011014563"anotheritemwithsomemoretext"33120323434432211133"more...."...该表包含大约50,000条记录。我想执行以下查询,但速度很慢:SELECTCOUNT(*),bigNumberFROMitemsGROUPBYsubstr(bigNumber,1,X)其中X在2和19之间变化。创建19列,每列中包含部分数字以便能够使用索引会更快吗?

Mysql ENABLE KEYS 命令需要很长时间

我有一个MyISAM数据库表。我在那里插入了大约360000条记录,在插入数据之前使用DISABLEKEYS并在插入数据之后使用DISABLEKEYS命令。向表中插入数据后,ENABLEKEYS命令继续执行,但在高性能服务器上需要超过17小时(当前它正在运行,并且是17小时..)。问题可能出在哪里?表有很多索引,几周前它运行良好。是不是MySQL服务器配置有问题? 最佳答案 关于ALTERTABLE表启用键的状态,您的SHOWPROCESSLIST说了什么?您是否更改了MySQL配置以处理大型表的索引生成?您可能已经超过了数据大小阈

mysql - MySQL如何决定它是否使用GROUP BY的索引?

我有一个简单的表格stock_ledger_idINT(10)(Primary)piece_to_bin_idINT(10)quantityINT(11)create_datetimeTIMESTAMP...andafewVARCHARs有一些简单的索引Key_nameCardinalityPRIMARY1510443piece_to_bin_id100696这个相当简单的查询大约需要8秒:SELECTpiece_to_bin_id,SUM(quantity),MAX(create_datetime)FROMstock_ledgerGROUPBYpiece_to_bin_id这是解释:

MySQL - ON 更新 CASCADE + foreign_key_checks = 0

我正在开发一种工具来合并两个具有相同架构但不同数据的数据库。其中一部分是将所有外键更改为ONUPDATECASCADE,然后递增所有主键以避免冲突并保持外键指针正常工作。我的问题是有时有一些孤立行的FK损坏,所以查询如下:UPDATEtablesetpk=pk+1000000失败是这样的:错误1452(23000):无法添加或更新子行:外键约束失败...(尽管我什至没有考虑触摸外键列!)我想通过以下方式关闭它:Setforeign_key_checks=0但是相关的外键没有更新。我做了一个快速测试,设置foreign_key_checks=0后级联不工作。有没有什么方法可以触发级联,或

mysql - 查询 : Tables with indexing/foregeing keys/correlated data

我目前正在使用MySQL数据库表结构。我在网上找到了一个很棒的表结构,但我不确定如何复制这样的东西。我对此很陌生,我请求帮助创建一个查询,该查询将创建所有表(具有相关数据(索引)、外键、多对多关系等)。随机我能够进行查询以选择所有字段:SELECT*FROMscheduleINNERJOINsemesterONschedule.semester_id=semester.idINNERJOINoffice_hoursONoffice_hours.schedule_id=schedule.semester_idINNERJOINfacultyONfaculty.id=office_hour

mysql - 在带有 LIKE 的 CASE 语句中使用 GROUP_CONCAT 列别名

这里的想法是GROUP_CONCAT从连接到option_stock和options表的stock表中编译一个选项代码列表,按股票id分组。示例行是这样的:NameOptionsTransmission'HoldenCommodore''111,145,166,188''Auto'这个View按原样工作,但我不禁觉得有更优雅的解决方案?CREATEVIEWstock_viewAS(selects.descriptionASName,group_concat(o.option_codeorderbyo.option_codeASCseparator',')ASOptions,(caseW

php - MYSQL insert or update if exists on one-way composite primary key table 单向复合主键表

我有一个用户之间的友谊表,如下所示。CREATETABLEuser_relations(pkUser1INTEGERUNSIGNEDNOTNULL,pkUser2INTEGERUNSIGNEDNOTNULL,pkRelationsTypeTINYINTUNSIGNEDNOTNULL,PRIMARYKEY(pkUser1,pkUser2),FOREIGNKEY(pkuser1)referencesusers(ID),FOREIGNKEY(pkuser2)referencesusers(ID),FOREIGNKEY(pkRelationsType)referencesuser_relati

mysql - 代码点火器 : how to avoid db query returns last statement as key value

我在codeigniter中查询结果之前执行了几个查询:$sql_drop_temptable="...blabla...";$sql_prepare="itcreatesatemporarytable;whereIsumuplater...";$sql_summe="selectsec_to_time(sum(time_to_sec(summands)))fromworkday;";$query=$this->db->query($sql_drop_temptable);$query=$this->db->query($sql_prepare);$query=$this->db->q

MySQl 查询 : Join and Group By, 性能缓慢

我的MySQL查询有问题,我无法优化它。SELECTp.id,p.name,p.sku,p.typeFROMxm_productspLEFTJOINxm_store_productspONp.id=sp.product_idLEFTJOINxm_storesONsp.store_id=s.idWHEREs.id=1ORDERBYp.type,p.nameascLIMIT20OFFSET0这个查询很慢:Querytime2.532s如果我删除OrderBy子句,查询速度非常快:0.0001秒解释显示以下信息:+----+-------------+-------+--------+---

php - JOINed 表上的 GROUP BY 和 ORDER BY - 复杂且缓慢

故事是这样的……我有用户,他们有child。我想每天使用CRONJOB优惠券向在child出生日期间隔内有child的用户发送。我想知道谁将成为获得优惠券的用户以及哪个child。此外,我只想为每个child发送一张优惠券,并且该child必须是用户拥有的最小的child。我有以下表格Children+--------------------------------------+-PrimaryKey:childrenID(int)-Index:userID(int)-Index:childBirthDate(date)+--------------------------------