MySQL基础知识小结

一. 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为索引组织表.

打赏此文

如果您觉得本站的内容对您有所帮助,您可以扫描下面的二维码小额支付请我喝杯茶,感谢!打赏记录
支付宝
微信
承诺:凡打赏捐助的朋友,留言备注自己的邮箱,在打赏捐助时间点的6个月内,本站会每周邮件推送原创专业技术博文,供大家学习和参考!

留下评论

All fields marked (*) are required