草庐IT

mysql - 围绕将 2 种不同类型的 ID 与一条信息相关联的 SQL 模式设计问题

我正在努力重新设计我们架构的某些部分,但我遇到了一个问题,我只是不知道做某事的好方法。我有一个事件表,例如:Events--------event_id对于每个事件,可能有n个组或用户与之关联。因此,有一个将事件与用户相关联的表来反射(reflect)一对多关系,例如:EventUsers----------event_iduser_id问题是我们也有组的概念。除了用户之外,我们还想潜在地将n个组与事件联系起来。因此,该user_id列是不够的,因为我们可能需要存储user_id或group_id。我想过多种方法来处理这个问题,但它们似乎都是一个大问题。例如,我可以将其设为partic

mysql - 比较来自 mysql 备份的数据

我有几个数据库备份,我想弄清楚是否有一种方法可以比较备份中的数据,以了解数据随时间的变化情况。我在要比较的字段上没有时间戳,但我在该行上有一个唯一的ID。备份是使用mysqldump创建的.sql文件。是否有执行此操作的流程? 最佳答案 有许多用于MySQL的差异工具,包括一个名为MySQLDiff(http://www.mysqldiff.org/)的工具。还有一个命令行界面可以在这里找到:http://devzone.intellitree.com/projects/intellitree-cli-extension-to-my

mysql - 如何从 MySQL/phpMyAdmin 中提取数据库模式?

有什么方法可以提取您的mysql数据库的模式吗?我在这些数据库中有很多数据库和表格,我在本地机器上使用phpmyadmin和WAMP。我需要提取架构,或者至少提取数据库名称、表名称、列及其属性(例如INT(2)),并将其导出为csv/excel/任何格式,最终可以在excel中编辑。我使用:服务器:Apache/2.2.21(Win64)PHP/5.3.8MySQLclientversion:mysqlnd5.0.8-dev-20102224-$Revision:310735$PHPextension:mysqliDocumentationmysql:Server:localhost(

mysql - 监视 MySQL 中未使用的索引

我有一组服务器,维护查询执行需要很长时间。这是由于开发人员在不同点创建的索引。有什么方法可以监控对执行产生不利影响的未使用索引。 最佳答案 对于mysql5.6之前默认情况下,mysql包没有太多统计数据可供分析,但有一些非官方的补丁可以分析。喜欢用户统计http://ourdelta.org/docs/userstats通过此补丁,您可以分析统计信息和未使用的索引。点击下面的链接https://www.percona.com/blog/2012/06/30/find-unused-indexes/在MySQL5.6及更高版本中,P

php - Laravel Schema : Null default, 更新时间戳

我刚刚开始使用Laravel,所以我已经习惯了它是如何完成的。我一直在尝试做一些似乎无法在网上找到示例的事情。我正在使用架构构建器创建一个新表。我想要的是一个默认值为NULL的日期时间字段,但要有“ONUPDATECURRENT_TIMESTAMP”。我已经尝试了很多东西,但这是我最近的尝试:$table->dateTime('opened_on')->default(Capsule::raw('NULLONUPDATECURRENT_TIMESTAMP'));使用这段代码,我得到一个“'opened_on'的默认值无效”错误。如有任何反馈或建议,我们将不胜感激。

mysql - 是否有一个命令可以检查服务器上每个 MySql 数据库的大小?

在unix或者mysql中有没有快速查看服务器上各个数据库大小的命令? 最佳答案 SELECTtable_schema"DataBaseName",sum(data_length+index_length)/1024/1024"DataBaseSizeinMB"FROMinformation_schema.TABLESGROUPBYtable_schema;来自here 关于mysql-是否有一个命令可以检查服务器上每个MySql数据库的大小?,我们在StackOverflow上找到一个

mysql - mysql 列数据类型对保持效率很重要吗?

我是否需要仔细选择我的mysql数据库列的数据类型,或者我是否可以将其设置为没有大小限制的varchar(99999)而不会损害效率?谢谢:) 最佳答案 选择代表您正在存储的数据的数据类型。如果要存储数字,请使用专为存储数字而设计的数据类型。如果要存储日期,请使用专为存储日期而设计的数据类型。如果您的所有数据确实都是文本,请为长度可以变化的列选择VARCHAR,为长度永远不变或尾随空格不重要的列选择CHAR。VARCHAR需要一个额外的字节来存储字段的长度,并且仅仅因为长度是可变的而带来非常小的性能损失,并且这在提取或存储数据时会产

mysql - 为什么 "schema"在 MySQL 和 SQL Server 中不同?

我是数据库新手。我想知道为什么当我创建一个模式时,在MySQL中它是一个数据库,而在SQLServer中它是一个数据库内部的模式。谁能给我解释一下? 最佳答案 在SQL服务器中数据库模式是一种对表、View、存储过程等对象进行逻辑分组的方法。将模式视为对象的容器。您可以将用户登录权限分配给单个模式,以便用户只能访问他们有权访问的对象。可以在数据库中创建和更改模式,并且可以授予用户访问模式的权限。模式可以由任何用户拥有,并且模式所有权是可以转让的。更多详情请访问著名的sql权威博客http://blog.sqlauthority.co

php - 这是好的成员(member)支付数据库模式吗?

我正在做一个项目来管理成员(member)资格和其他类型的支付,但主要是成员(member)资格,所以我创建了一个多态模式。任何想法,改进,出于某种原因我不完全相信这个模式。正如您将看到的,让月份、年份为NULL-ABLE的想法允许保存任何其他付款的记录CREATETABLEIFNOTEXISTS`orders`(`id`int(11)NOTNULLauto_increment,`partner_id`int(11)NOTNULL,`status`enum('pending','accepted','cancelled','other')NOTNULL,`created_on`date

mysql - 如何在 Web 应用程序中实现一次性(每个用户)消息?

如果您想一次性提醒用户某事(一次关于新功能、即将举行的事件、特别优惠等),最好的方法是什么?我主要关心数据表示,但如果有更多问题需要考虑,请指出。这是我第一次处理这个特殊问题。所以到目前为止我的想法......您可以有一个用户、一条消息和一个已查看/已确认的消息表。当用户确认消息时,我们在看到的表中有一个新条目,其中包含用户ID和消息ID对。但是seen表会随着用户数和消息数的增加而快速增长。在某些时候,这将变得笨拙(任何洞察力何时适用于单个服务器上的单个mysql数据库?)。是否只为每条消息创建1个可见表并可能以20-30个这样的附加表开始?不是真正的问题。它只是带来了额外的麻烦,即