Home Database Mysql Tutorial 如果对MySQL还停留在这个印象,就out了_MySQL

如果对MySQL还停留在这个印象,就out了_MySQL

May 27, 2016 pm 01:46 PM


笔者明白,有些错误印象是因为某些无良技术服务公司,为了赚钱而误导相关人员所致。有些问题是由于历史原因而导致的错误印象,但是任何事物都是发展的,或许有些问题早已在新版本中给解决了。为此,笔者整理了一些常见的MySQL错误印象,希望开发人员能够以发展的眼光来看待事物。

如何对MySQL还停留在这个印象,就out了

错误印象一:InnoDB存储引擎适合写密集型应用,MyISAM适合读密集型应用

回答:这个问题大该在8,9年前,也就是2005年的时候在论坛是非常有争论的话题,而上述答案算是在那个年代的一种总结。其实这个答案仅回答了堆表与索引组织表在更新时的区别,其他很多问题没有考虑。到目前的MySQL 5.6为止,InnoDB存储引擎已经完胜MyISAM了,看不到任何其他应用使用MyISAM的必要性。当然,MyISAM存储引擎本身已经彻底停止开发了。

错误印象二:InnoDB存储引擎存在并发问题,大并发下性能较差

回答:InnoDB的并发问题其实一直是官方改进的重点,目前已经调优的非常不错,MySQL 5.7下只读查询可以轻松达到50W QPS就是最好的证明。另外,Oracle官方对于各种并发瓶颈也进行了优化,比如SSD盘并行刷新优化,重做日志优化,undo多线程purge优化等等,所以InnoDB存储引擎本身存在的并发问题其实已经很少了。如果是上层的并发瓶颈,比如之前笔者说的电商秒杀问题(回复77可以查看),则可以通过线程池技术来进行优化。

错误印象三:MySQL复制是不可靠的,经常会导致数据丢失或者复制失败

回答:的确,在MySQL 5.6版本之前,MySQL的复制是存在一些问题的,复制可能是不可靠的。但是在2年半前发布的MySQL 5.6版本中,已经完全解决了复制可靠性问题。如果小伙伴们还出现出错问题,基本可以定义为配置问题,有需求的可以联系笔者来帮你调优。使用笔者的开源MySQL版本InnoSQL,可以免费获得技术支持。

错误印象四:MySQL复制是逻辑复制,所以速度慢,不及Oracle这类的物理复制

回答:逻辑复制肯定慢于物理复制?不一定吧,各种综合因素都很多吧。之前MySQL复制比较慢是因为其复制是单线程的,所以延迟问题比较严重。然MySQL 5.7、MariaDB 10.0已经支持并行复制功能,延迟问题基本已经解决。比如网易电商使用并行复制后,复制延迟从5个小时降低为0。

错误印象五:MySQL复制不能保证主从数据完全一致,不适合数据严格一致要求的场景

回答:上述这个错误观点竟然出自淘宝的VP,笔者只能说为了推广淘宝自己的OceanBase,已经不择手段的来抹黑MySQL了。MySQL 5.7已提供了数据零丢失的复制方法,配置一个参数就能解决。类似的PostgreSQL、Oracle也都是通过先写远程日志来保障数据零丢失,这本身并不是很新的技术。而网易也已经在云数据库中使用该技术有近3年的时间(InnoSQL早在5.5就已经支持),可以说是完全经过线上应用考验的技术。只能说有些细节问题可能需要考虑,不过有问题,同样可以咨询笔者。

错误印象六:sync_binlog需设置为0或者2

回答:MySQL 5.6版本之前存在组提交失效的问题,所以需要把这个参数设置为0或者2来提高性能。但这意味着开启了番多拉魔盒,存在很多的隐藏问题。MySQL 5.6,InnoSQL 5.5,MariaDB 5.5版本都已经解决组提交失效问题。so,sync_binlog务必设置为1
 

以上就是如果对MySQL还停留在这个印象,就out了_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MySQL: The Ease of Data Management for Beginners MySQL: The Ease of Data Management for Beginners Apr 09, 2025 am 12:07 AM

MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

Can I retrieve the database password in Navicat? Can I retrieve the database password in Navicat? Apr 08, 2025 pm 09:51 PM

Navicat itself does not store the database password, and can only retrieve the encrypted password. Solution: 1. Check the password manager; 2. Check Navicat's "Remember Password" function; 3. Reset the database password; 4. Contact the database administrator.

How to create navicat premium How to create navicat premium Apr 09, 2025 am 07:09 AM

Create a database using Navicat Premium: Connect to the database server and enter the connection parameters. Right-click on the server and select Create Database. Enter the name of the new database and the specified character set and collation. Connect to the new database and create the table in the Object Browser. Right-click on the table and select Insert Data to insert the data.

MySQL: Simple Concepts for Easy Learning MySQL: Simple Concepts for Easy Learning Apr 10, 2025 am 09:29 AM

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

How to view database password in Navicat for MariaDB? How to view database password in Navicat for MariaDB? Apr 08, 2025 pm 09:18 PM

Navicat for MariaDB cannot view the database password directly because the password is stored in encrypted form. To ensure the database security, there are three ways to reset your password: reset your password through Navicat and set a complex password. View the configuration file (not recommended, high risk). Use system command line tools (not recommended, you need to be proficient in command line tools).

How to execute sql in navicat How to execute sql in navicat Apr 08, 2025 pm 11:42 PM

Steps to perform SQL in Navicat: Connect to the database. Create a SQL Editor window. Write SQL queries or scripts. Click the Run button to execute a query or script. View the results (if the query is executed).

How to create a new connection to mysql in navicat How to create a new connection to mysql in navicat Apr 09, 2025 am 07:21 AM

You can create a new MySQL connection in Navicat by following the steps: Open the application and select New Connection (Ctrl N). Select "MySQL" as the connection type. Enter the hostname/IP address, port, username, and password. (Optional) Configure advanced options. Save the connection and enter the connection name.

MySQL and SQL: Essential Skills for Developers MySQL and SQL: Essential Skills for Developers Apr 10, 2025 am 09:30 AM

MySQL and SQL are essential skills for developers. 1.MySQL is an open source relational database management system, and SQL is the standard language used to manage and operate databases. 2.MySQL supports multiple storage engines through efficient data storage and retrieval functions, and SQL completes complex data operations through simple statements. 3. Examples of usage include basic queries and advanced queries, such as filtering and sorting by condition. 4. Common errors include syntax errors and performance issues, which can be optimized by checking SQL statements and using EXPLAIN commands. 5. Performance optimization techniques include using indexes, avoiding full table scanning, optimizing JOIN operations and improving code readability.

See all articles