Welcome 微信登录

首页 / 数据库 / MySQL

MySQL Order By Rand()效率分析

MySQL Order By Rand()效率分析

最近由于需要大概研究了一下MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,仍然可以通过ORDER BY R...
远程连接mysql数据库注意点记录

远程连接mysql数据库注意点记录

一、如何新建独立帐号并设置权限 这里我使用Navicat作为我的数据库管理工具,打开Navicat。选择“用户”--“新建用户”输入用户名、主机、密码,需要注意的是,主机那不是写“localhost”,而是写“%”然后可以设置“服务器权限”和指定数据库的权限,最后保存退出即可二、远程连接慢 慢是一个很大的问题,网上的办法是在my.ini的“[mysqld]”下面加入一行“skip-name-resolve”,就像这样: 然后保存并重启mysql服...
mysql中合并两个字段的方法分享

mysql中合并两个字段的方法分享

例如:select (a+b) as c from 表 类型也一致都是varchar型的,可就是显示不正确。 直到concat() MySQL中concat函数 下面通过一个例子介绍MySQL中的concat函数的使用方法,比如select concat("11","22","33")。 MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注...
MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题

MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题

MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集。 character-set-table:数据库表字符集。 优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 cha...
关于MYSQL的优化全面详解

关于MYSQL的优化全面详解

先说一下最常见基本的系统瓶颈: 1、硬盘搜索。现代磁盘的平均时间通常小于10ms,因此理论上我们每秒能够大约搜索1000次,这样我们在这样一个磁盘上搜索一个数据,很难优化,一个办法就是将数据分布在多个磁盘。 2、IO读写。就磁盘来讲,一般传输10-20Mb/s,同样的,优化可以从多个磁盘并行读写。 3、CPU周期。我们将数据读入内存后,需要对它进行处理并获取我们需要的结果。表相对于内存较小时常见的限制因素。但是对于小表,速度通常不成问题。 4、内存带宽。当...
mysql复制中临时表的运用技巧

mysql复制中临时表的运用技巧

我们知道,临时表有以下特性: 1. SESSION 级别,SESSION 一旦断掉,就被自动DROP 了。 2. 和默认引擎有关。如果默认引擎是INNODB,而你又疯狂的使用临时表。那么,你的IBDATA会被无限的增大。 3. 和磁盘表一样,默认写入到binlog, 而且被动的加入了rollback 计划。 幻想如下场景: 数据库损坏,也没有备份。刚好二进制日志全部保存完好,幸福了。导入二进制日志到MYSQL。 有两种方法: 1) mysqlbinlog ...
深入理解mysql之left join 使用详解

深入理解mysql之left join 使用详解

ON 子句与 WHERE 子句的不同 一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Conditions 与 Where-conditions 的不同关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 NU...
MySQL删除数据Delete与Truncate语句使用比较

MySQL删除数据Delete与Truncate语句使用比较

空mysqll表内容常见的有两种方法:一种delete,一种是truncate 。 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。 其语法结构为: 复制代码 代码如下: TRUNCATE [TABLE] tbl_name 这里简单的给出个示例, 我想删除 friend...
Mysql导入导出工具Mysqldump和Source命令用法详解

Mysql导入导出工具Mysqldump和Source命令用法详解

在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysq...
解决mysql 1040错误Too many connections的方法

解决mysql 1040错误Too many connections的方法

从官方文档知道linux上面编译安装的mysql默认的连接为100个,这样对于网站的需求来说是远远不够的。 mysql官方告诉我们需要修改max_connections的值,那么我们怎么去修改呢?有两种方法 1、修改配置文件文件 修改/etc/my.cnf这个文件,在[mysqld]中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到/etc/my.cnf。我使用的是...
<< 61 62 63 64 65 66 67 68 69 70 >>