搜索
首页数据库mysql教程《MySQL性能调优与架构设计》推荐序-From 翟振兴

四年前,当我第一次接触MySQL时,版本还是4.1。当时的感觉这个数据库怎么这么“

四年前,当我第一次接触MySQL时,版本还是4.1。当时的感觉这个数据库怎么这么“小”:安装文件小,只有不到20M;支持功能少,连基本的视图、过程、分区等功能都不支持;入门简单,几乎一天就可以熟练使用。不仅如此,而且使用起来感觉比较“怪异”,创建表时还要指定“MyISAM”、“InnoDB”这样奇怪的“存储引擎”,表名还要分大小写。这对当时已经习惯ORACLE这样“大型”数据库的自己来说,简直就像退回到了旧石器时代,心想虽然免费,但这样的数据库能用吗?

随着工作的需要,慢慢的对MySQL的了解多了起来,原来的一些观念也逐渐发生了改变:虽然功能少,但占用磁盘空间小,而且对于开发使用来说,主要的功能基本都有,尤其是在MySQL5.0发布之后,一些常用功能更加完善,而对于功能庞大的ORACLE来说,近一个G的安装文件中,可能真正经常使用到的功能最多也就20%;虽然使用时要指定各种各样的“存储引擎”,但这些存储引擎却是八仙过海,各有各的”神通“,在不同的使用场景中,我们可以灵活的按需进行选择,使得我们的数据库性能尽可能的优化;尤其是对于MySQL的开源策略,越来越觉得是MySQL能够普及的一个最大特点。首先,在满足GPL协议下,MySQL可以任意下载并可以商用,这使得企业信息化建设的成本大大降低,这也是近几年互联网行业发展极快的原因之一;其次,开源的特性使得大家都可以对数据库源码进行一些个性化的修改,用来提高数据库的性能或者增加新的功能,而这些改进反过来也使得更多使用者能够从中受益。

目前在互联网行业,MySQL已经使用非常广泛,但相关的资料和书籍却一直比较缺乏。在目前已出版的中文图书中,MySQL相关的书屈指可数,专门介绍MySQL的书更是凤毛麟角。一年前,我和几位同事一起合作写了一本>,当时写书的初衷是将工作中使用MySQL的一些经验记录下来,希望使更多的MySQL初学者少走些弯路。出版之后,市场的反应有点出乎我们意料,关注度一直比较高,细想之下,原因也许就是系统介绍MySQL的中文书籍和资料实在太少。很多读者看过后提了不少批评和建议,其中比较多的是MySQL的架构设计和优化内容偏少。熟悉MySQL的读者一般都知道,MySQL最大的问题就是在大数据量和高并发环境下和商业数据库的性能差别较大,因此对MySQL的优化更多的不在于数据库本身,而在于架构的设计,即如何通过分表、分库、复制、Cache等技术使得数据库能合理分配访问压力。如何来进行架构设计则更多的取决于设计者的经验,市场上相关资料很少能够见到,而本书恰恰弥补了这一空白。

虽素未谋面,却早已得知作者在写一本MySQL的大作,内容主要是MySQL架构设计和优化方面的。有幸提前看到了部分原稿,感觉文笔流畅、思路严谨、图文并茂,最重要的是内容很实用,相信此书的出版对广大互联网朋友来说会带来很多收获!

在写本文的前一天,业界发生了一个令人震惊的收购,ORACLE将以74亿美元的价格收购SUN,这也使得昔日数据库领域的两个重要竞争对手ORACLE和MySQL成为了一家,数据库的市场格局因此也将发生重大改变,MySQL能否会在 ORACLE 这样一个对数据库系统有着极深理解的公司的主导下给大家带来更多的惊喜呢?让我们都拭目以待吧!

翟振兴
网易高级DBA
《深入浅出MySQL》一书主要作者
Blog:http://zhaizhenxing.blog.51cto.com/

注:此推荐序版权归 翟振兴 所有

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
解释InnoDB缓冲池及其对性能的重要性。解释InnoDB缓冲池及其对性能的重要性。Apr 19, 2025 am 12:24 AM

InnoDBBufferPool通过缓存数据和索引页来减少磁盘I/O,提升数据库性能。其工作原理包括:1.数据读取:从BufferPool中读取数据;2.数据写入:修改数据后写入BufferPool并定期刷新到磁盘;3.缓存管理:使用LRU算法管理缓存页;4.预读机制:提前加载相邻数据页。通过调整BufferPool大小和使用多个实例,可以优化数据库性能。

MySQL与其他编程语言:一种比较MySQL与其他编程语言:一种比较Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

学习MySQL:新用户的分步指南学习MySQL:新用户的分步指南Apr 19, 2025 am 12:19 AM

MySQL值得学习,因为它是强大的开源数据库管理系统,适用于数据存储、管理和分析。1)MySQL是关系型数据库,使用SQL操作数据,适合结构化数据管理。2)SQL语言是与MySQL交互的关键,支持CRUD操作。3)MySQL的工作原理包括客户端/服务器架构、存储引擎和查询优化器。4)基本用法包括创建数据库和表,高级用法涉及使用JOIN连接表。5)常见错误包括语法错误和权限问题,调试技巧包括检查语法和使用EXPLAIN命令。6)性能优化涉及使用索引、优化SQL语句和定期维护数据库。

MySQL:初学者的基本技能MySQL:初学者的基本技能Apr 18, 2025 am 12:24 AM

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL:结构化数据和关系数据库MySQL:结构化数据和关系数据库Apr 18, 2025 am 12:22 AM

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL:解释的关键功能和功能MySQL:解释的关键功能和功能Apr 18, 2025 am 12:17 AM

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL的目的:与MySQL数据库进行交互SQL的目的:与MySQL数据库进行交互Apr 18, 2025 am 12:12 AM

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

初学者的MySQL:开始数据库管理初学者的MySQL:开始数据库管理Apr 18, 2025 am 12:10 AM

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境