Welcome 微信登录

首页 / 数据库 / MySQL

大幅优化MySQL查询性能的奇技淫巧

大幅优化MySQL查询性能的奇技淫巧

回顾 MySQL / InnoDB 的改善历史。你能很容易发现。在MySQL 5.6稳定版本中从来没有在read-only 这么快的提速,它很容易搞懂,以及在read-only(RO)有着良好的扩张性。也很期待它在read+write(RW)上达到一个较高水平。(特别是在读取数据是数据库主要工作的时候)然而。我们对于RO在 MySQL 5.6的表现也十分的高兴,在5.7这个版本中,主要工作集中在 read+write (RW)上, 因为在大数据的处理上还没...
12个优化MySQL的技巧小整理

12个优化MySQL的技巧小整理

避免编辑转储文件Mysqldump创建的转储文件原本是无害的,但它很容易被尝试去编辑。然而,人们应该知道在任何情况下的试图修改这些文件被证明是有危险的。直观地看对这些文件的改动会导致数据库损坏,从而导致系统的退化。为了让你的系统免受任何麻烦,你必须避免编辑MySQL转储文件。MyISAM 块大小大多数开发者忘记了这一事实,文件系统往往需要一个大的MyISAM块以保证高效运行。许多开发者不知道块大小的设置。.MYI文件存储在myisam_block_size...
MySQL结合使用数据库分析工具SchemaSpy的方法

MySQL结合使用数据库分析工具SchemaSpy的方法

近来,我和一帮老客户一起工作,他们让花时间给他们说一下在他们新环境中使用的新工具。其中,我发现的一个非常有用的工具是SchemaSpy。SchemaSpy是Java开发的的工具(要求java 5或更高版本的支持),主要用来分析数据库中数据模型的元数据,并且能生成基于浏览器可视化的显示。通过点击就可了解数据表的层次结构,父子表关系等,主要通过HTML 链接或者实体关系图来表达。它也被设计成用来帮助解决由于约束而导致的数据库关联失败的迟钝错误。我所喜欢ERD工...
在VB.NET应用中使用MySQL的方法

在VB.NET应用中使用MySQL的方法

绪言在Visual Studio中使用向导连接到MySQL数据库是一件相当棘手的事情。因为MySQL并不在VS2012默认支持的数据库中(比如SQL Server)。在本文中我将介绍如何使用VB.NET连接到MySQL数据库并且执行SQL语句(SELECT,UPDATE,DELETE),同时我会展示如何将MySQL连接器导入(connectors)到Visual Studio 2012中。使用代码 你须要从http://dev.mysql.com/down...
在MySQL中创建带有IN和OUT参数的存储过程的方法

在MySQL中创建带有IN和OUT参数的存储过程的方法

在 MySQL 中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话。如果你通过命令行控制 MySQL,你需要记住准确的语法。一个快速示例可以很好的帮助你做到这点。在MySQL 入门教程中,我们能够看到很多关于如何创建储存过程 和如何利用 IN 和 OUT 参数调用存储过程的示例。这些示例都很简单,能够很好的帮助你理解 MySQL 中创建带参数存储过程的语法。这些示例已在 MySQL 5.5 中通过测试。我们将用下面的雇员...
创建一个实现Disqus评论模版的MySQL模型

创建一个实现Disqus评论模版的MySQL模型

在很长一段时间内,PostgreSQL都被认为是MySQL的替代品。但是,在那段时间里,根本没有办法使他达到MySQL所能达到的水平。最近几年里,这些问题都无法解决,并且产生了许多有趣的工具来弥补PG。我们在Disqus中使用了两个Slony和pgbouncer。Slony让我们可以复制数据(有时候也可以分区),而pgbouncer为我们解决了保持链接和连接池的问题。另外,让我们看看他们的语言:我这个星期很高兴能够学会如何在PGSQL8.4中使用递归查询,...
Win7、WinXP下MySql安装出错完全卸载的方法步骤

Win7、WinXP下MySql安装出错完全卸载的方法步骤

最近mysql安装出现问题:1.操作系统不同,安装过程中删除,清理也不同:window 7: 安装mysql过程中,最后安装到start service的时候提示服务有问题,然后卸载,卸载后按照还是同样的错误,下面就说卸载过程如何全面卸载干净:1)找到mysql安装路径,目前默认c盘,然后找到组织菜单----文件夹和搜索选项-----查看tab中,有个显示隐藏的文件,文件夹和驱动器,勾选后,然后再c盘下面有个programdata文件夹,删除此文件夹下面的...
在MySQL中使用Sphinx实现多线程搜索的方法

在MySQL中使用Sphinx实现多线程搜索的方法

MySQL、Sphinx及许多数据库和搜索引擎中的查询是单线程的。比如说,在一台32个CPU核心、16个磁盘的R910服务器上执行一个查询,它最多只会用到一个核心和一个磁盘。没错,只会使用一个。如果查询是CPU密集型作业,那么会使用大约3%的整机CPU能力(以上述32核机器为例)。如果是磁盘密集型,则大约会使用6%的整机IO能力(也是与上例同样的配置,16个磁盘组成RAID10或RAID0)。我再换个说法吧。如果你在一台单核单磁盘的机器上执行了某个查询,花...
MySQL中给自定义的字段查询结果添加排名的方法

MySQL中给自定义的字段查询结果添加排名的方法

我正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就找到了一个简单的解决办法。下面是一个示例表的数据: 然后我们要根据 Roll_No 字段进行排序并给出排名,我们首先必须定义一个初始值为0的变量,然后在查询结果中使用这个变量。如下面的代码:SET @counter=0; SELECT @counter:=@counter+1 AS Rank,LastName,Roll_no as Roll FROM Students O...
深入理解MySQL中的事务机制

深入理解MySQL中的事务机制

使用数据库事务可以确保除事务性单元内的所有操作都成功完成。MySQL中的InnoDB引擎的表才支持transaction。在一个事务里,如果出现一个数据库操作失败了,事务内的所有操作将被回滚,数据库将会回到事务前的初始状态。有一些不能被回滚的语句:将在本文的最后讨论。在一个web应用中,会很经常遇到需要使用事务的地方,要么希望若干语句都执行成功,要么都不执行,如果出现有些执行成功,而其他的失败将会导致数据损坏。在这篇文章的例子中,我们使用下面的两张表"em...
MySQL在Linux系统中隐藏命令行中的密码的方法

MySQL在Linux系统中隐藏命令行中的密码的方法

在命令行中输入命令并不是一个好主意,会造成安全问题。但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息。那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码。假设我这里系统里两个用户,一个是root ,一个是dabu 。测试系统为centos 6.5在按照下面的步骤做:[root@dabu.info ~]#su dabu #切换到dabu这个账号[dabu@dabu.info ~...
在Linux系统的命令行中为MySQL创建用户的方法

在Linux系统的命令行中为MySQL创建用户的方法

要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行。每个MySQL用户帐号都有许多与之相关连的属性,例如用户名、密码以及权限和资源限制。"权限"定义了特定用户能够在MySQL服务器中做什么,而"资源限制"为用户设置了一系列服务器资源的使用许可。创建或更新一个用户涉及到了对用户帐号所有属性的管理。下面展示了如何在Linux中创建和设置一个MySQL用户。首先以root身份登录到MySQL服务器中。$ mysql -u root -p当验证提示...
MySQL安全输入密码的一些操作介绍

MySQL安全输入密码的一些操作介绍

当我们运行mysql客户端连接mysql服务器的时候,以一种暴露的可被其他用户发现的方式指定我们的密码是不妥的。我们输入密码的方式有四种,其中每一种都有一定风险。下面就分别说下这四种方式:MySQL密码输入的安全操作(翻译)第一种:直接在命令行后使用 -pyour_pass 或者r --password=your_pass 这两种选项。举例:shell> mysql -u ksharpdabu -pksharppassworddb_name这种方式很...
简介操作MySQL日志的一些方法

简介操作MySQL日志的一些方法

我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的。这些是数据库的操作日志。它记录了我们平时使用的sql语句命令,即使这个sql语句没有被执行,也会被记录,它包括执行时间之类的都详细在案,其实 它的目的有两个:一是方便我们查错和恢复数据库;二是为了主从服务器之间同步数据用的,主从服务器上所有操作都记录在日志里,从服务器可以根据这些日志来进行相同的操作,确...
MySQL主从同步原理介绍

MySQL主从同步原理介绍

概述Mysql的Replication(复制)是一个异步的复制过程,从一个 Mysql instance(我们称之为 Master)复制到另一个Mysql instance(我们称之 Slave)。在 Master 与 Slave之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在Master端。主从同步需求要实现 MySQL 的 Replication ,首先必须打开 Master...
MySQL日志文件详解

MySQL日志文件详解

概述日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等。本文主要描述MySQL的各种日志文件。MySQL日志文件分类1.错误日志(Error Log)2.二进制日志(Binary Log & Binary Log Index)3.通用查询日志(query log)4....
MySQL开启记录执行过的SQL语句方法

MySQL开启记录执行过的SQL语句方法

概述很多时候,我们需要知道 MySQL 执行过哪些 SQL 语句,比如 MySQL 被注入后,需要知道造成什么伤害等等。只要有 SQL 语句的记录,就能知道情况并作出对策。服务器是可以开启 MySQL 的 SQL 语句记录功能,从而就能间接地检测到客户端程序的行为。方法开启方法很简单:编辑/etc/my.cnf文件,在[mysqld]节下面添加:log=/var/lib/mysql/sql_row.log行(日志的路径自己根据需要定义)。复制代码 代码如下...
MySQL分页技术、6种分页方法总结

MySQL分页技术、6种分页方法总结

概述有朋友问: MySQL的分页似乎一直是个问题,有什么优化方法吗?网上看到赶集网XX推荐了一些分页方法,但似乎不太可行,你能点评一下吗?方法总结方法1: 直接使用数据库提供的SQL语句语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N适应场景: 适用于数据量较少的情况(元组百/千级)原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limi...
<< 121 122 123 124 125 126 127 128 129 130 >>