Questions tagged «mysql»

MySQL是使用结构化查询语言(SQL)的免费,开放源代码关系数据库管理系统(RDBMS)。请勿将此标签用于其他数据库,例如SQL Server,SQLite等。那些是不同的数据库,它们都使用自己的SQL方言来管理数据。




14
INT和VARCHAR主键之间在真实性能上有区别吗?
在MySQL中使用INT与VARCHAR作为主键之间是否存在可测量的性能差异?我想将VARCHAR用作参考列表的主键(想想美国的州和国家/地区代码),并且同事不会花INT AUTO_INCREMENT作为所有表的主键。 我的论点,详见这里,是INT和VARCHAR之间的性能差异可以忽略不计,因为每个INT外键引用将需要JOIN的参考意义,一个VARCHAR键则直接呈现的信息。 那么,是否有人对这个特定用例以及与此相关的性能问题有经验?

30
mysql外键约束格式错误
我有两个表,table1是一列父表ID,并table2与一列IDFromTable1(而不是实际的名称),当我把一个FK上IDFromTable1,以ID在table1我得到的错误Foreign key constraint is incorrectly formed error。如果要删除记录,我想删除表2记录table1。谢谢你的帮助 ALTER TABLE `table2` ADD CONSTRAINT `FK1` FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) ON UPDATE CASCADE ON DELETE CASCADE; 让我知道是否需要其他信息。我是mysql新手
173 mysql  sql  heidisql 

5
MySQL中的表名是否区分大小写?
MySQL中的表名是否区分大小写? 在Windows开发机器上,我拥有的代码能够查询我的表,这些表看起来都是小写的。当我在数据中心中部署到测试服务器时,表名似乎以大写字母开头。 我们使用的服务器都在Ubuntu上。

6
为什么MYSQL更高的LIMIT偏移量会减慢查询速度?
简而言之,场景:一个拥有超过1600万条记录[2GB大小]的表。使用ORDER BY * primary_key *时,SELECT的LIMIT偏移量越高,查询的速度就越慢 所以 SELECT * FROM large ORDER BY `id` LIMIT 0, 30 花费不到 SELECT * FROM large ORDER BY `id` LIMIT 10000, 30 那只能订购30条记录,而且无论如何都一样。因此,这不是ORDER BY的开销。 现在,当获取最新的30行时,大约需要180秒。如何优化该简单查询?

1
在字段名称周围使用反引号
在阅读了一些有关SQL问题的答案和评论,并听到我的一个朋友在一个禁止他们使用的政策的地方工作之后,我想知道在MySQL的字段名周围使用反引号是否有问题。 那是: SELECT `id`, `name`, `anotherfield` ... -- vs -- SELECT id, name, anotherfield ...
172 mysql  backticks 


13
如何在MySQL数据库中存储表情符号字符
我在项目中使用表情符号字符。这些字符被保存(??)到mysql数据库中。我曾在中使用数据库默认排序规则utf8mb4_general_ci。它显示 1366错误的字符串值:第1行的'comment'列的'\ xF0 \ x9F \ x98 \ x83 \ xF0 \ x9F ...'
172 mysql 




11
设置Django以使用MySQL
我想稍微远离PHP,学习Python。为了使用Python进行Web开发,我需要一个框架来帮助模板和其他事情。 我有一台非生产服务器,用于测试所有Web开发内容。这是一个运行MariaDB而不是常见的MySQL服务器软件包的Debian 7.1 LAMP堆栈。 昨天我安装了Django并创建了我的第一个项目firstweb。我尚未更改任何设置。 这是我的第一个大困惑。在教程中,我跟随那个家伙安装了Django,开始了他的第一个项目,重新启动了Apache,从那时起Django就开始工作了。他转到浏览器,然后毫无问题地转到Django默认页面。 但是我,我必须进入我的firstweb文件夹并运行 python manage.py runserver myip:port 而且有效。没问题。但是我想知道它是否应该像这样工作,并且这是否会引起问题? 我的第二个问题是我想对其进行设置,以便它使用我的MySQL数据库。我进入/ firstweb / firstweb下的settings.py,看到了ENGINE和NAME,但不确定在这里放什么。 然后在USER,PASSWORD和HOST区域中,这是我的数据库及其凭据吗?如果我使用本地主机,是否可以将本地主机放在HOST区域中?
171 python  mysql  django  debian 

14
您如何在开发,测试和生产中管理数据库?
我一直很难找到很好的示例,说明如何在开发,测试和生产服务器之间管理数据库模式和数据。 这是我们的设置。每个开发人员都有一个运行我们的应用程序和MySQL数据库的虚拟机。做他们想做的事是他们的个人沙箱。当前,开发人员将对SQL模式进行更改,并将数据库转储到他们提交到SVN中的文本文件中。 我们想要部署一个持续集成开发服务器,该服务器将始终运行最新的提交代码。如果我们现在这样做,它将为每个构建版本从SVN重新加载数据库。 我们有一台运行“候选发布版”的测试(虚拟)服务器。当前,部署到测试服务器是一个非常手动的过程,通常需要我从SVN加载最新的SQL并进行调整。此外,测试服务器上的数据不一致。最后,您将获得最后一个要提交的开发人员在其沙箱服务器上拥有的测试数据。 一切失败的地方就是部署到生产。由于我们无法用测试数据覆盖实时数据,因此需要手动重新创建所有架构更改。如果有大量的模式更改或转换脚本来操纵数据,那么这可能会变得很麻烦。 如果问题仅仅是模式,那将是一个更简单的问题,但是数据库中也存在“基础”数据,这些数据也在开发过程中进行了更新,例如安全性和权限表中的元数据。 这是我在迈向持续集成和一步构建的最大障碍。您如何解决? 后续问题:如何跟踪数据库版本,以便知道运行哪些脚本来升级给定的数据库实例?像Lance一样的版本表是否在标准程序下面提到? 感谢您引用Tarantino。我不在.NET环境中,但是我发现他们的DataBaseChangeMangement Wiki页面非常有用。特别是此Powerpoint演示文稿(.ppt) 我将要编写一个Python脚本,该*.sql脚本将对照数据库中的表检查给定目录中的脚本名称,并根据形成文件名第一部分的整数顺序运行那些不存在的脚本名称。如果这是一个非常简单的解决方案(我怀疑会这样),那么我将在此处发布。 我有一个工作脚本。如果数据库不存在,它将处理数据库初始化,并根据需要运行升级脚本。还有一些用于擦除现有数据库和从文件导入测试数据的开关。它大约有200行,所以我不会发布(尽管有兴趣的话我可以将其放在pastebin上)。
171 mysql  svn 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.