一. MySQL Dump:
命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;
1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
mysqldump -uroot -pdbpasswd -d dbname >db.sql;
2、导出數據库為dbname某张表(test)结构
mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
3、导出數據库為dbname所有表结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname >db.sql;
4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname test>db.sql;
EG:
mysqldump -h XXXX.XXX.XXX.XX -uUSERNAME_XXXX -pPASSWORD_XXX DBNAME TABLENAME>file.sql;
二. MySQL查询随机一行数据:
SELECT AAA.ID, AAA.Name, AAA.Age FROM MySqlTable AS AAA JOIN ( SELECT ROUND(RAND() * ((SELECT MAX(ID) FROM MySqlTable)-(SELECT MIN(ID) FROM MySqlTable))+ (SELECT MIN(ID) FROM MySqlTable) ) AS RandomID) AS BBB WHERE AAA.ID >= BBB.RandomID ORDER BY AAA.ID LIMIT 1;
在7W的数据量下, 查询平均花费 0.0014 秒(已测)
三. MySQL 查询缓存:select @@query_cache_type;
1. 要么打开缓存;
2. 要么关闭缓存;
3. 要么使用SQL的显示缓存 select SQL_CACHE user_name from users where user_id = '100';
http://blog.sina.com.cn/s/blog_75ad10100101by7j.html
四. MySQ Lleft(right)join筛选条件在on and与where差异:
http://xianglp.iteye.com/blog/868957
五. MySQL计算集合之间的差集和交集;
普通做法就是IN; 但是大数据下太慢; 所以1, 2:
1. 差集;
SELECT ID FROM ( SELECT DISTINCT A.AID AS ID FROM TABLE_A A UNION ALL SELECT DISTINCT B.BID AS ID FROM TABLE_B B )TEMP GROUP BY ID HAVING COUNT(ID) = 1
2. 交集;
SELECT ID FROM ( SELECT DISTINCT A.AID AS ID FROM TABLE_A A UNION ALL SELECT DISTINCT B.BID AS ID FROM TABLE_B B )TEMP GROUP BY ID HAVING COUNT(ID) = 2
3. .... LEFT JOIN解决问题:
http://www.cnblogs.com/cy163/archive/2008/11/03/1325400.html
六. MySQL死锁解决:
JAVA异常:
2014-02-11 12:20:29,947 - SYS [http-bio-52000-exec-9] ERROR Log4jUtil.exception(Log4jUtil.java:47)
- PreparedStatementCallback; SQL []; Deadlock found when trying to get lock;
try restarting transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
mysql> show processlist ;
mysql> kill mysqlprocessid;
原因: 数据批量更新时,执行一个Update语句时, 使用了一个耗时较大的SQL, SQL中用了IN, IN中的数据大约是2000条;
七. mysql group by order by
select * from test group by category_id order by `date`
select * from (select * from `test` order by `date` desc) `temp` group by category_id order by `date` desc第一个SQL,是基于 category_id分组后, 取分组的数据为顺序排列的第一条数据. 最后在根据每个组的数据基于date排序;
相关推荐
网上找到的mysql时间函数用法集合,和大家分享
自己搜集整理的比较经典的数据开发视频 郝斌数据结构自学视频、郝斌数据库(SQL Server2005)、MYSQL视频、Oracle数据库性能优化等 百度云盘分享
2.5 元数据锁源码该部分介绍 MySQL 源码的主要源文件和主要函数 3.2 InnoDB 的锁类型InnoDB 为保护并发访问下的数据,根据不同的粒度对数据
自定义合辑体系及合辑封面模型,合辑允许相互嵌套,允许以全站类目体系进行分类,产生类目内的合辑列表。支持内容、属性、连载等合辑。 自定义附属信息模型,可生成公告、广告、单页、友链、咨询、留言等模型,...
自定义合辑体系及合辑封面模型,合辑允许相互嵌套,允许以全站类目体系进行分类,产生类目内的合辑列表。支持内容、属性、连载等合辑。 自定义附属信息模型,可生成公告、广告、单页、友链、咨询、留言等模型,...
自定义合辑体系及合辑封面模型,合辑允许相互嵌套,允许以全站类目体系进行分类,产生类目内的合辑列表。支持内容、属性、连载等合辑。 自定义附属信息模型,可生成公告、广告、单页、友链、咨询、留言等模型,...
CoverCMS V1.1.7现已发布! 基于PHP+MYSQL设计,支持跨...允许多重频道共存,类目结构统一设置,对全站所有文档及合辑通用。 支持发布付费、细致到颗粒度权限控制、有限展位排队等功能。 支持页面静态与缓存,可自选
允许多重频道共存,类目结构统一设置,对全站所有文档及合辑通用。 支持发布付费、细致到颗粒度权限控制、有限展位排队等功能。 支持页面静态与缓存,可自选内容进行动态调用、部分更新、二级缓存,支持自动定时...
允许多重频道共存,类目结构统一设置,对全站所有文档及合辑通用。 支持发布付费、细致到颗粒度权限控制、有限展位排队等功能。 支持页面静态与缓存,可自选内容进行动态调用、部分更新、二级缓存,支持自动定时...