草庐IT

innodb-multiple-tablespaces

全部标签

MySQL SELECT from multiple tables, multiple GROUP BY and group_concat?

我想在MySQ中查询三个表。如下:**Table:Leaderboard**Name|Score------------James|1Steve|2Dave|5**Table:Actions**Name|Action|Time----------------------------James|Ateanapple|01:00James|Kickedadog|02:00Steve|Ateadog|03:00Steve|Kickedahen|01:00Dave|died|02:00**Table:Items**Name|Item|Time--------------------------

MySQL/InnoDB 和长时间运行的查询

在使用myisam引擎运行查询时,因为它不是事务性的,所以长查询(据我所知)不会影响其他查询的数据。在InnoDB中,它警告的一件事是避免长查询。当InnoDB做快照时,它是不是把所有东西都拍下来了?我问这个问题的原因是:假设出于任何原因的查询比正常情况花费更长的时间并最终回滚。同时,还有200个其他用户更新或插入了行到数据库中。当长查询回滚时,它是否也删除了其他用户所做的更新/插入?或者涉及其他用户的行是否安全,除非他们与回滚的行交叉? 最佳答案 首先,我认为作为背景阅读multi-versionconcurrencycontro

InnoDB 上的 MySQL UPDATE 操作偶尔会超时

这些是InnoDB数据库中非常小的表上的简单UPDATE。有时,操作似乎已锁定,但不会超时。然后每个后续UPDATE都以超时结束。现在唯一的办法是让我的ISP重新启动守护程序。表中的每个字段都用于查询,因此所有字段都有索引,包括主字段。我不确定是什么原因导致初始锁定,而且我的ISP没有提供足够的信息来诊断问题。他们也不愿让我访问任何设置。在之前的工作中,我被要求处理类似的信息,但我会做INSERT。我定期运行一个脚本来从表中DELETE旧记录,这样就不需要过滤太多记录。当SELECTing时,我使用了外推技术,因此拥有的不仅仅是最新的数据是有用的。这个设置非常可靠,它永远不会挂起,即使

MySQL : multiple column values as 1 comma-separated string?

假设我有一个选择查询:SELECT*FROMtablename表格中的列是:field1、field2和field3有谁知道是否有可能获得只有1行和1个字段的结果集,列的值以逗号分隔,如下所示:"fieldvalue1,fieldvalue2,fieldvalue3"问题是我事先不知道表的列名...另一个问题是准备好的语句不是要走的路,因为所有这些都应该在触发器内完成,而MySQL不允许在触发器内进行动态游标/选择。 最佳答案 我进行了一些研究,结果只得出GROUP_CONCATenating正确的列名。但问题是,SELECT(SE

mysql - sql string cat 作为聚合函数 : cat multiple records together

我有一个包含列的表:(project_id,name)这是一个人员列表,每个人都有其所属的项目。如果一个人在两个项目中,则重复。我想提取一个包含以下列的表:(project_id,people)其中people是一个字符串cat,其中包含从事该项目的所有人的姓名。cat必须用逗号分隔,如下所示:12,john12,mark12,dave14,luke成为12,"john,mark,dave"14,"luke" 最佳答案 你可以用一个简单的查询来做到这一点SELECTproject_id,GROUP_CONCAT(name)aspeo

mysql - 对于 MySQL InnoDB 中的 View ,多大才算太大?

背景我正在使用一个包含60多个表的MySQLInnoDB数据库,我正在创建不同的View,以便在代码中更快速、更轻松地进行动态查询。我对20到28个表的INNERJOINS(没有多对多关系)有几个ViewSELECTING100到120columnswithrowcountbelow5,000并且它的工作速度很快。实际问题我正在创建一个包含34​​个表的INNERJOINS(没有多对多关系)的主视图,并使用行数选择150列低于5,000似乎太多了。执行单个SELECT需要很长时间。我想知道我是否达到了某种View大小限制,是否有任何方法可以增加它,或者有什么技巧可以帮助我突破这个明显的

mysql - 我的 SQL 错误 #1015 - 无法锁定文件 (errno : 165 - Table is read only) innodb engine only

我的SQL错误#1015-Can'tlockfile(errno:165-Tableisreadonly)仅限innodb引擎首先MySql开始停止工作,几乎每天都需要重启然后它开始以只读模式工作MySQL版本是5.6my.cnf内容[mysqld]innodb_file_per_table=1default-storage-engine=MyISAMmax_allowed_packet=268435456innodb_buffer_pool_size=134217728innodb_force_recovery=4我的日志14081905:48:57mysqld_safemysqld

MySQL InnoDB "SELECT FOR UPDATE"- 跳过锁定等效

当我们在MySQL中使用InnoDB表进行“SELECTFORUPDATE”时,有什么方法可以跳过“锁定的行”吗?例如:航站楼t1mysql>starttransaction;QueryOK,0rowsaffected(0.00sec)mysql>selectidfrommytableORDERBYidASClimit5forupdate;+-------+|id|+-------+|1||15||30217||30218||30643|+-------+5rowsinset(0.00sec)mysql>同时,终端t2:mysql>starttransaction;QueryOK,0r

MySQL 性能 : Single table or multiple tables

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

php - mysql multiple COUNT() from multiple tables with LEFT JOIN

我想展示所有用户的结论。我有3个表。表格帖子post_id(index)user_id11233344table照片photo_id(index)user_id12243141表格视频photo_id(index)user_id14243343和表用户user_id(index)user_name1mark2tommy3john4james事实上,每个表都有超过4行。我想要这样的结果。idnamepostphotovideos1mark1202tommy0103john2024james1125........下面的代码是可以正常工作但速度很慢的SQL,如果你能帮助我如何使用LEFTJ