青铜到王者,快速晋升你 MySQL 数据库的段位!
3. 建设索引的进程中,学会查察执行打算。内功心法:先看 type 值,再看 key,再看 rows,最后看 extra; mysql> use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> explain select * from sbtest; +----+-------------+--------+------+---------------+------+---------+------+-------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+--------+------+---------------+------+---------+------+-------+-------+ | 1 | SIMPLE | sbtest | ALL | NULL | NULL | NULL | NULL | 98712 | NULL | +----+-------------+--------+------+---------------+------+---------+------+-------+----- 4. 相识建设索引的甜头 a. 进步数据检索服从 b. 进步聚合函数服从 c. 进步排序服从 d. 个体时辰可以停止回表 e. 镌汰多表关联时扫描行数 f. 主键、独一索引可以作为束缚 ——对事宜的进修 先要知道事宜的四大特征(ACID): a. 原子性(Atomicity) 事宜的原子性是指事宜中包括的全部操纵要么都做,要么都不做,担保数据库是同等的 b. 同等性(Consistency) 同等性是指数据库在事宜操纵前和事宜处理赏罚后,个中的数据必需都满意营业法则束缚. c. 断绝性(Isolation) 断绝性是数据库应承多个并发事宜同时对数据举办读写和修改的手段,断绝性可以防备多个事宜并发执行时因为交错执行而导致数据的纷歧致. d. 耐久性(Durability) 事宜处理赏罚竣事后,对数据的修改就是永世的 认识 mysql 数据库四种事宜断绝级别: 1. read uncommitted(RU)读未提交: 一个事宜中,可以读取到其他事宜未提交的改观 2. read committed(RC)读已提交: 一个事宜中,可以读取到其他事宜已经提交的改观 3. repetable read,(RR)可一再读: 一个事宜中,直到事宜竣事前,都可以重复读取到事宜刚开始看到的数据,不会产生变革 4. serializable(串行读): 即便每次读都必要得到表级共享锁,每次写都加表级排它锁,两个会话间读写会彼此阻塞。 小我私人提议:对付买卖营业类体系的网站,各人只管行使事宜级别较量高的RR;对付一些派别类网站各人行使RC就可以了。 Innodb 的锁,默认三种锁算法: record; Gap lock; next-key lock 默认锁算法是 next-key lock 间隙锁担保不会呈现幻读征象。 数据库字符集 先学会查察数据库的字符集: [root@node3 ~]# mysql -uroot -proot123 mysql> show variables like '%char%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+ 8 rows in set (0.00 sec) 假如想担保不会呈现中文乱码的环境产生,必需满意以下三点: 毗连终端必需UTF8 操纵体系必需UTF8 数据库必需UTF8 三者同一就不会呈现中文乱码的题目 ——数据库权限题目的打点 1. 权限申请流程要配置类型,公道. 2. 测试和正式情形都要严酷节制数据库的写权限,榨取分派 create,alter 这样的权限给开拓职员。而且读权限和外营业处事疏散. 3. 率领必要权限时,问清目标,发邮件声名。只管都由DBA全权打点 4. 特权账号 all privileges 必需由DBA职员节制 5. 单库单用户,榨取给我一个用户账号打点多个库。 6. 只读账号 select,可往后期共同主从架构中read_only 一路行使 7. 榨取 root 用户作为长途毗连用户行使 第四部门:尊贵铂金篇 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |