• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Mysql的一些常用方法_MySQL

mysql 搞代码 4年前 (2022-01-09) 22次浏览 已收录 0个评论

gaodaima.com

公司近期为新来同事做了一次培训,我也偷偷溜进去观摩了一下,内容虽然很基础,但是还是挺有用的。这里做了一下资料汇总:

2种存储引擎

InnoDB:支持事务处理、外键、行级锁,游戏业务库使用MyISAM:不支持事务,写入速度快,游戏日志库使用

什么样的查询会用到索引

最左前缀原理(索引条件紧跟where)1.全列匹配,按照索引中所有列进行精确匹配(这里精确匹配指”=”或”IN”匹配)2.最左前缀匹配3.查询条件用到了索引中列的精确匹配,但是中间某个条件未提供:用到索引(只用到最左)4.使用like查询,%不能在第一位 ,如:s_rolename like ‘南博%’:使用索引s_rolename like ‘%南博’:不使用索引所以如果列要模糊查询,可在前面添个字段,如’0南博万’5.一次查询只会用到一个索引,查询时尽量遵循最左前缀原理如果有多个索引匹配,则默认优先按照索引建立顺序启用

什么样的查询不会用到索引

1.查询条件中不包含索引列2.索引列使用了函数或者表达式3.使用了like,%在最前面

查询原则

1.只取出自己需要的列select n_roleid,s_rolename from player_roles where n_roleid=1;这里n_roleid是传进去的,可以不放到查询结果中 2.关联查询时永远用小结果集本文来源[email protected]搞@^&代*@码网(驱动大结果集SELECT pr.s_rolename, t.*FROM (SELECT n_roleid, n_lv FROM player_property pp WHERE pp.n_lv >= 30) t INNER JOIN player_roles prWHERE t.n_roleid = pr.n_roleid

存储过程

过程内的变量定义: DECLARE p_count1 INTEGER(11) DEFAULT 0;SET @p_count2=0;DECLARE:局部变量,作用范围是声明该变量的BEGIN…END块 SET:会话内全局变量,作用范围是当前会话,可以在SQL、PROC、FUNC之间传递,使用不当可能会出BUG:比如2个过程都使用这个全局变量,则可能会出现变量被串用,因此在使用前建议初始化,SET @p_count2=0; 锁(SELECT … FOR UPDATE)行级锁 明确指定主键且有数据,无数据时没有锁 select n_money,n_token into … from acc_balance where n_roleid=1 for update表级锁 没有指定主键或者主键不明确 select * from acc_balance where n_roleid1 for update;

数据库操作

登录数据库mysql –default-character-set=utf8 -uroot -p’123′ -h192.168.0.14 -P3300 king_db –default-character-set:设定client的字符编码-u:登录用户-p:密码-h:指定HOST-P:指定端口 导入数据库脚本mysql –default-character-set=utf8 -uroot -p’123′ -h192.168.0.14 -P3300 king_dbsource 目录/脚本 导出数据库脚本(mysqldump)

常用参数名

描述

–no-create-db,-n

没有CREATE DATABASE…

–no-data,-d

只导结构,不导数据

–database,-B

有CREATE TABLE…

–no-create-info,-t

没有CREATE TABLE…

–tables

指定需要导出的表,覆盖–database或-B选

–ignore-table

指定不需要导出的表

每次只能指定一个表,多个表需要重复多次指定

每个表必须同时指定数据库和表名db.tablename

示例— 导出全库结构 mysqldump -uroot -p123 -h192.168.0.26 -P3301 -B –opt -R -d playboy_cn_cn_test > struct.sql– 导入结构 mysql –default-character-set=utf8 -uroot -p123 -h127.0.0.1 -P3306 data.sql– 导入数据 mysql –default-character-set=utf8 -uroot -p123 -h127.0.0.1 -P3306 playboy_cn_cn_test < data.sql 最后附上本次培训的PPT以及一些Mysql执行脚本,可简化部分日常工作:http://files.cnblogs.com/cm4j/mysql.zip 原创文章,请注明引用来源:CM4J gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql的一些常用方法_MySQL

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址