草庐IT

temp-tables

全部标签

mysql - 如何将现有数据库的 "innodb_file_per_table"参数从 "OFF"更改为 "1"?

从MyISAM切换到InnoBD时,我使用了默认设置。看了优化提示,才知道每个表单独一个文件比较好。如何将表格从一个文件转移到一个单独的文件中? 最佳答案 如果您使用的是MariaDB10.x,innodb_file_per_table=1是那里的默认设置,所以只要您使用默认设置,您的新InnoDB表和从MyISAM转换为InnoDB的表将已经有单独的表空间。如果您使用的是MariaDB5.5,innodb_file_per_table=0默认。要开始使用单独的表空间,请运行SETGLOBALinnodb_file_per_tabl

mysql - 一次执行多个 laravel alter table migration 查询?

有人知道是否有办法在一个查询中执行多个Laravelaltertablemigration查询吗?例如:Schema::table('table',function(Blueprint$table){$table->integer('column1');$table->integer('column2');});这将创建两个ALTER表查询。除了编写SQL查询之外,有没有办法让它在一个查询中完成所有操作。 最佳答案 我意识到这个问题现在已经很老了,但没有得到回答。我会说Laravel模式构建器更多的是为了方便和跨平台兼容性,而不是为

MySQL:创建临时表时是否自动创建主键?

我有一个查询需要很长时间(大约1100万次观察)和三个连接(我无法阻止它进行检查)。其中一个连接是使用临时表。当我使用其中包含主键的表中的数据创建临时表时,新表是否会继续索引,或者我是否必须在新临时表中显式创建索引(使用主键来自父表)? 最佳答案 否-对于显式定义的临时表,不会自动定义索引。您需要在创建表时或之后使用ALTERTABLE..定义索引。您可以使用SHOWCREATETABLEmy_temptable检查它。尝试以下脚本:droptableifexistsmy_persisted_table;createtablemy_

mysql - 在 MySQL 中选择使用 `database_name` .`viewname` .* 语法会抛出 "Unknown table ' database_name.viewname'"

我在MySQL和数据库View方面遇到了一个奇怪的问题。我有一个这样定义的View:CREATEVIEWcircuitsAS(SELECTId,IdASOld_Id,NameFROMcircuits_1)UNION(SELECTId+1000ASId,IdASOld_Id,NameFROMcircuits_2)我必须将此View与另一个数据库中的表连接起来。为此,我通常在表名前加上它的数据库名,例如db_name.table_name。我已经使用ORM映射了这个View,指定了它的前缀,结果查询是这个:SELECT`webapp`.`circuits`.*FROM`webapp`.`c

mysql - Laravel 查询生成器联合 : Add 'table name' column

有3个不同的数据库表articles、reviews、posts,它们都有这些列:'id','title','user_id','created_at','body'.我正在使用Laravel5.6和yajra/laravel-datatables包,所以我需要“联合”这三个表并将其放入jQueryDataTables中。为此,我使用了Laravel的union查询生成器方法:$fields=['id','title','user_id','created_at','body'];$articles=DB::table('articles')->select($fields);$rev

mysql - SELECT COUNT with JOIN optimization for tables with > 100M rows

我有以下问题SELECTSUBSTRING(a0_.created_dateFROM1FOR10)ASsclr_0,COUNT(1)ASsclr_1FROMapplicationsa0_INNERJOINpackage_codesp1_ONa0_.id=p1_.application_idWHEREa0_.created_dateBETWEEN'2019-01-01'AND'2020-01-01'ANDp1_.type='Package1'GROUPBYsclr_0---编辑---你们中的大多数人都关注GROUPBY和SUBSTRING,但这不是问题的根源。以下查询具有相同的执行时间:

php - 如何在预订时屏蔽餐 table ?

如何阻止预订?我的预订表有from_datetime和to_datetime字段。我想避免两个用户同时预订某样东西的情况。我的尝试:终端1:-user1LOCKTABLEbookingREAD;INSERTINTObookingVALUES('2019-01-0112:00:00','2019-01-0114:00:00');现在tablebooking应该被锁定,其他用户应该不能从它读取,但是......终端2:-user2SELECT*frombooking我有结果...为什么?这应该被阻止,直到我在TERMINAL1中这样做:unlocktables;

sql - CREATE TABLE AS SELECT 杀死 MySQL

我们在相当强大的硬件(具有8个Xeon内核、8GbRAM和RAID10的HPDL360)上运行中等负载(200-300QPS)的MySQL服务器。所有表都是innodb并且事件数据集适合分配的innodb_buffer_pool_size。我们的数据库是标准化的,为了减少连接的数量,我们使用物化View来展平数据集。由于数据每天分批添加几次,因此使用CREATETABLEASSELECT重新生成MV,而不是使用复杂的触发器动态更新。问题是,有时在运行这些CREATE查询时(每个查询需要5到50秒),其他与服务器无关的查询似乎排在CREATE后面查询,导致数据库无响应。为了(重新)生成M

mysql - 将 Rails ActiveRecord 对象保存到临时表 (MySQL)

用户可以从文件中将数据导入我们的网站。数据通常包含数百个项目(Item虽然验证有帮助,但它们不能解决内容完整性检查的问题。为此,我们希望有一个测试模式。我们可以在Rails/MySQL中为此使用临时Items表吗?如果可以,我们应该怎么做? 最佳答案 您可以使用ARExtensions为此的gem。阅读此article了解更多详情。User.create_temporary_tabledo|temp_model|#nowperformtheinsertsontemptable.temp_model.create(...)...end

php - MYSQL : Two tables "Signup" and "Login" ? 做成一个表好还是两个不同的表好

两个表“注册”和“登录”?注册->id,fname,lname,gender登录->id,email,username,password在php中,我只需要与Login表进行交互。但是在通过php注册期间,我必须使用两个插入查询来插入到两个表中。我想减少查询次数,也想优化数据库。我让signup+login=singletable....这是个好主意,因为当我登录时,我将与一个大的单表进行交互 最佳答案 如果登录和注册信息存在一对一的映射,那是个好主意。通过一次id查找可以获得更好的性能。也许是“用户”表?在旁注中,我希望“密码”不