程序员面试备战篇:18个经典MySQL面试专题解析,干货分享


Mysql 内建的复制功能是构建大型,高性能应用程序的开发云主机域名基础。将 Mysql 的数据分布到多个系统上去,这种分布的机制,是通过将 Mysql 的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。* 复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。过程如下1. 主服务器把更新记录到二进制日志文件中。2. 从服务器把主服务器的二进制日志拷贝到自己的中继日志(replay log)中。3. 从服务器重做中继日志中的时间,把更新应用到自己的数据库上。如果字段里面有大字段(text,blob)类型的,而且这些字段的访问并不多,这时候放在一起就变成缺点了。MYSQL 数据库的记录存储是按行存储的,数据块大小又是固定的(16K),每条记录越小,相同的块存储的记录就越多。此时应该把大字段拆走,这样应付大部分小字段的查询时,就能提高效率。当需要查询大字段时,此时的关联查询是不可避免的,但也是值得的。拆分开后,对字段的 UPDAE 就要 UPDATE 多个表了InnoDB 行锁是通过给索引上的索引项加锁来实现的,这一点 MySQL 与Oracle 不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB 这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB 才使用行级锁,否则,InnoDB 将使用表锁!由于 utf8 的每个字符最多占用 3 个字节。而 MySQL 定义行的长度不能超过65535,因此 N 的最大值计算方法为:(65535-1-2)/3。减去 1 的原因是实际存储从第二个字节开始,减去 2 的原因是因为要在列表长度存储实际的字符长度,除以 3 是因为utf8 限制:每个字符最多占用 3 个字节。INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEYUPDATE c=c+1;您的关注转发是我继续前行的动力,感谢您的阅读,赞赏。
欢迎关注微信公众号:慕容千语的架构笔记。欢迎关注一起进步。

相关推荐: 配置mysql解压版时出现NET HELPMSG 353怎么解决

下文我给大家简单讲讲关于配置mysql解压版时出现NET HELPMSG 353怎么解决,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完配置mysql解压版时出现NET HELPMSG 353怎么解决对大家多少有点帮助吧。[mys…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/09 11:14
下一篇 06/09 11:14

相关推荐