轉載地址:http://blog.csdn.net/aeolus_pu/article/details/8940241#commentshtml
mysql 5.6各個新特性,以及對應的官方說明文檔,很詳細,已作備錄
mysql
主要四大塊 innodb、複製、優化、nosql支持,在這四大方面有了很的改進,對應官方相關文檔講的很詳細。算法
一. server參數默認值設置的變化:
http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html
二. innodb加強
1.支持fulltext索引。
2.支持online DDL。
3.獨立表空間的.ibd文件能夠在建表時指定目錄:
<http://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html>
4.導入和導出表空間:copy文件的方式比mysqldump快好多。
<http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.html>
5. 新增參數innodb_page_size設置頁大小。
6.緩衝池flush算法加強:
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-lru-background-flushing
7.支持使用nosql api訪問innodb表(整合memcached):
<http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html>
8.優化器統計持續化:重啓不丟失。
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-persistent-stats
9.支持read-only事務:
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-performance-ro-txn
10.undo log可獨立出系統表空間:
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-undo-tablespace
11.redo log最大增至512G。
12.innodb支持read_only介質,如DVD,參數--innodb-read-only
13.INFORMATION_SCHEMA新增相關字典表若干。
14.innodb內部性能加強:包括將flushing操做獨立出主線程,減小核心互斥鎖,可設置多個清除線程,減小大內存系統的資源爭奪。
15.檢測死鎖算法加強。
16.buffer pool預熱:http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-preload-buffer-pool
三. 分區加強
1.最大分區個數增值8192,包括分區和子分區。
2.支持分區表的分區(或子分區)與非分區表交換:ALTER TABLE ... EXCHANGE PARTITION
3.查詢支持顯式的分區語句:如SELECT * FROM t PARTITION (p0, p1) WHERE c < 5
http://dev.mysql.com/doc/refman/5.6/en/partitioning-selection.html
4.簡化分區鎖加強性能:http://dev.mysql.com/doc/refman/5.6/en/partitioning-limitations-locking.html
四. 複製和日誌加強
1.新增GTID複製:<http://dev.mysql.com/doc/refman/5.6/en/replication-gtids.html>
2.新增binlog_row_p_w_picpath <http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html>參數,可只記錄row格式下所用字段的修改(而不是像之前同樣記錄所有列),節省空間等資源。
3.master.info和relay-log.info支持存儲在表中。
4.mysqlbinlog命令支持binlog備份(備份後仍爲二進制的binlog而不是文本)<http://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog-backup.html>
5.支持延時複製:在change master to中增長MASTER_DELAY選項。
6.有多個網絡接口的slave可指定使用其中一個:在change master to中增長MASTER_BIND。
7.新增log_bin_basename <http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html>、relay_log_basename <http://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html>系統變量。
8.基於schema級別的多線程複製。
9.binlog支持crash-safe。
五. 優化器加強
1.limit優化:<http://dev.mysql.com/doc/refman/5.6/en/limit-optimization.html>
2. MRR優化(Multi-Range Read <http://dev.mysql.com/doc/refman/5.6/en/mrr-optimization.html>)
3.ICP優化(Index Condition Pushdown):<http://dev.mysql.com/doc/refman/5.6/en/index-condition-pushdown-optimization.html>
4.explain語句支持insert、delete、update、replace語句,而且支持json格式。
5.新增鏈接算法BKA(Batched Key Access):<http://dev.mysql.com/doc/refman/5.6/en/bnl-bka-optimization.html>
6.子查詢優化:包括物化和半鏈接優化等特性。
7面向開發者的優化器追蹤特性。
六. 數據類型
1.time、datetime、timestamp類型支持微妙(小數點後6位);表格式的slowlog將不會被截斷。
2.datetime類型支持DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP。
3.增長explicit_defaults_for_timestamp系統變量明確timestamp默認值。
4.year(2)被限制,將轉換成year(4)。
七. Host cache加強
1.新增Connection_errors_xxx <http://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html>系列狀態參數。
2.新增host_cache_size系統變量。
八. 刪除的特性
1. --log和log移除,用 --general_log <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>和 --general_log_file=file_name <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html> 替換。
2. log_slow_queries移除,只有slow_query_log。
3. --one-thread系統參數移除,用 --thread_handling=no-threads <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>替換。
4. --safe-mode 系統參數移除。
5. --skip-thread-priority系統參數移除。
6. --table-cache移除,用 table_open_cache <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>替換。
7. --init-rpl-role、--rpl-recovery-rank、rpl_recovery_rank、Rpl_status移除。
8. ,engine_condition_pushdown系統變量移除,engine_condition_pushdown表示併入optimizer_switch <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>變量。
9. have_csv, have_innodb, have_ndbcluster, have_partitioning移除,用show engines代替。
10. sql_big_tables移除,用big_tables <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>代替。
11. sql_low_priority_updates被low_priority_updates <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>代替。
12. sql_max_join_size被max_join_size <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>代替。
13. max_long_data_size被max_allowed_packet <http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html>代替。
14. FLUSH MASTER 和 FLUSH SLAVE語句移除,使用reset master和reset slave代替。
15. slave start和slave stop語句移除,用start slave和stop slave代替。
16. SHOW AUTHORS 和 SHOW CONTRIBUTORS 語句移除。
17. set語句的OPTION 和nd ONE_SHOT移除。sql