【MySQL】基础知识小结

来源:互联网 发布:被收购的中国品牌 知乎 编辑:程序博客网 时间:2024/04/30 13:21
一. char与varchar
    1)char为固定空间存储, 实际数据不够会补够,超出长度则截断; varchar为不固定长度存储,使用额外的1-2个字节来存储长度信息。
    2)char可能导致空间浪费, 但也可能有效减少空间碎片,上限255; varchar的情况相反,上限65535个字节(指定的长度表示的为字符,要考虑编码)

二. int(x)
     x代表了int整型的最大显示长度。 int占4个字节, 无符号最大值4294729693, 即长度为10. 因此int(11)与int(12)本质上应该没有差别。

三. mysql的日志种类
    错误日志: -log-err      (记录信息包括: 服务启动或关闭, 运行过程的错误或警告, 事件调度器)
    查询日志: -log            
    慢查询日志: -log-slow-queries
    更新日志: log-update  (一般都不会使用)
    二进制日志: -log-bin   (mysqlbinlog查看二进制文件)

四. show profile
    用于分析sql执行的性能, 相对于explain, profile还可以查看执行的CPU/Memory使用情况。

五. 关于buffer size
    对于myisam, 要设置合适的key_buffer_size大小; 因为myisam需要用到系统的缓存来缓存数据,因此需要为索引留出部分空间.
    对于innodb, 要设置合适的innodb_buffer_pool_size大小; 因为innodb会把数据和索引都一起缓存起来, 该值应该相对大一些.

六. delete与optimize
    如果一个表经常有insert与delete操作,应该要定期进行optimize操作,可以有效的回收空间和整理碎片.

七. 关于锁
    myisam只支持表锁; innodb支持行级锁,它是通过在索引上加锁来实现的,因此只有在用到索引来检索数据时才用到行锁,否则仍使用表锁.

八. 索引
    myisam支持的索引类型包括: 普通索引(index), primary key(主键), 唯一性主键(unique key), 全文索引(full text).
    innodb有两种索引: B+树索引,  hash索引.innodb为索引组织表.

2 0
原创粉丝点击