TiDB 3.0 αž…αŸ‚αž€αž…αžΆαž™ DBMS αž…αŸαž‰αž•αŸ’αžŸαžΆαž™

αž˜αžΆαž“ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ DBMS αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ TiDB 3.0αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž€αŸ’αžšαŸ„αž˜αž₯αž‘αŸ’αž’αž·αž–αž›αž“αŸƒαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ Google αžŸαŸ’αž–αŸαž“αž“αŸαžš ΠΈ F1. TiDB αž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Hybrid HTAP (Hybrid Transactional/Analytical Processing) αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αžαŸ’αžαž—αžΆαž–αž•αŸ’αžαž›αŸ‹αž‘αžΆαŸ†αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ (OLTP) αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ†αžŽαž½αžšαžœαž·αž—αžΆαž‚αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Go and αž…αŸ‚αž€αž…αžΆαž™β€‹αžŠαŸ„αž™ αž˜αžΆαž“αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαž€αŸ’αžšαŸ„αž˜ Apache 2.0 αŸ”

αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžšαž”αžŸαŸ‹ TiDB

  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš SQL αž“αž·αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αžαž·αžαž·αž‡αž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž–αž·αž’αžΈαž€αžΆαžš MySQL αžŠαŸ‚αž›αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžαŸ’αž›αž½αž“αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžŸαžšαžŸαŸαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ MySQL αž‘αŸ… TiDB αž αžΎαž™αž€αŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž’αžαž·αžαž·αž‡αž“αž‘αžΌαž‘αŸ…αž•αž„αžŠαŸ‚αžšαŸ” αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž–αž·αž’αžΈαž€αžΆαžš MySQL αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎ API αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ JSON αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž—αŸ’αž‡αžΆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Spark αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αž”αŸ’αžšαžΎ DBMS αŸ”
  • αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ SQL αž‚αžΆαŸ†αž‘αŸ’αžšαž›αž·αž”αž·αž€αŸ’αžšαž˜ αž˜αž»αžαž„αžΆαžšαžŸαžšαž»αž” αž…αžΆαžαŸ‹αž€αŸ’αžšαž»αž˜αžŠαŸ„αž™ αž”αž‰αŸ’αž‡αžΆαžŠαŸ„αž™ αž€αž“αŸ’αžŸαŸ„αž˜αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ (αž…αžΌαž›αž‚αŸ’αž“αžΆαž†αŸ’αžœαŸαž„ / αž…αžΌαž›αžŸαŸ’αžαžΆαŸ† / αž…αžΌαž›αžšαž½αž˜) αž‘αž·αžŠαŸ’αž‹αž—αžΆαž– αž˜αž»αžαž„αžΆαžšαž”αž„αŸ’αž’αž½αž… αž“αž·αž„αžŸαŸ†αžŽαž½αžšαžšαž„αŸ” αžŸαž˜αžαŸ’αžαž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‚αžΊαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž˜αž½αž™ TiDB αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžŽαŸ’αžαžΆαž‰αžŠαžΌαž…αž‡αžΆ PhpMyAdmin, αž€αž»αž€ αž“αž·αž„ WordPress;
  • αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž•αŸ’αžαŸαž€ αž“αž·αž„αž€αžΆαžšαž’αžαŸ‹αž’αŸ’αž˜αžαŸ‹αž€αŸ†αž αž»αžŸαŸ– αž‘αŸ†αž αŸ†αž•αŸ’αž‘αž»αž€ αž“αž·αž„αžαžΆαž˜αž–αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž“αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ’αž“αžΆαŸ†αž„αžαŸ’αž˜αžΈαŸ” αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž…αŸ‚αž€αž…αžΆαž™β€‹αž“αŸ…β€‹αž‘αžΌαž‘αžΆαŸ†αž„β€‹αžαŸ’αž“αžΆαŸ†αž„β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž—αžΆαž–β€‹αž…αŸ’αžšαž”αžΌαž€αž…αŸ’αžšαž”αž›αŸ‹ αžŠαŸ‚αž›β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžβ€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αž”αž“αŸ’αžβ€‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αžαŸ’αž“αžΆαŸ†αž„β€‹αž“αžΈαž˜αž½αž™αŸ—β€‹αž”αžšαžΆαž‡αŸαž™αŸ” αž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ”
  • αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αžΆαž“αžΆαž“αžΌαžœαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆ αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžαž·αžαž·αž‡αž“ αžœαžΆαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž‡αžΆ DBMS αžŠαŸαž’αŸ†αž˜αž½αž™ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž€αžΆαžšαž–αž·αž αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžαŸ’αž“αžΆαŸ†αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž€αŸ‹αž‘αžΆαž‰αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž€αŸαžŠαŸ„αž™αŸ”
  • αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„ αž•αŸ’αž‘αžΆαŸ†αž„αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ αž§αž‘αžΆαž αžšαžŽαŸ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ GoLevelDB αž“αž·αž„ BoltDB αž¬αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αž‘αž»αž€αž…αŸ‚αž€αž…αžΆαž™αžšαž”αžŸαŸ‹αž™αžΎαž„αž•αŸ’αž‘αžΆαž›αŸ‹αŸ” TiKV.
  • αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž•αŸ’αž‘αž»αž€αžŠαŸ„αž™αž’αžŸαž˜αž€αžΆαž› αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αž‡αž½αžšαžˆαžš αž“αž·αž„αž›αž·αž”αž·αž€αŸ’αžšαž˜αž—αŸ’αž›αžΆαž˜αŸ—αžŠαŸ„αž™αž˜αž·αž“αž”αž‰αŸ’αžˆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αžŸαŸ†αžαžΆαž“αŸ‹ αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αž:

  • αž€αžΆαžšαž„αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž•αž›αž·αžαž—αžΆαž–αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž Sysbench αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ 3.0 αž‚αžΊ 2.1 αžŠαž„αž›αžΏαž“αž‡αžΆαž„αžŸαžΆαžαžΆ 1.5 αž“αŸ…αž–αŸαž›αž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž TPC-C 4.5 αžŠαž„αŸ” αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αžΆαž“αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž”αŸ’αžšαž—αŸαž‘αž•αŸ’αžŸαŸαž„αŸ—αž“αŸƒαžŸαŸ†αžŽαž½αžš αžšαž½αž˜αž‘αžΆαŸ†αž„ IN, DO αž“αž·αž„ NOT EXISTS subqueries, table merging (JOIN) αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž›αž·αž”αž·αž€αŸ’αžšαž˜ αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ”
    TiDB 3.0 αž…αŸ‚αž€αž…αžΆαž™ DBMS αž…αŸαž‰αž•αŸ’αžŸαžΆαž™TiDB 3.0 αž…αŸ‚αž€αž…αžΆαž™ DBMS αž…αŸαž‰αž•αŸ’αžŸαžΆαž™

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αž‘αž»αž€ TiFlash αžαŸ’αž˜αžΈαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž–αžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαžœαž·αž—αžΆαž‚ (OLAP) αžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‡αž½αžšαžˆαžšαŸ” TiFlash αž”αŸ†αž–αŸαž‰αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ†αž αŸ†αž•αŸ’αž‘αž»αž€ TiKV αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž–αžΈαž˜αž»αž“ αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αž‡αž½αžšαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‚αž“αŸ’αž›αžΉαŸ‡/αžαž˜αŸ’αž›αŸƒ αž αžΎαž™αž›αŸ’αž’αž‡αžΆαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš (OLTP)αŸ” TiFlash αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž…αŸ†αž αŸ€αž„αž‡αžΆαž˜αž½αž™ TiKV αž αžΎαž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž“αŸ’αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αŸ… TiKV αžŠαžΌαž…αž˜αž»αž“αž–αŸαž›αž”αŸ’αžšαžΎαž–αž·αž’αžΈαž€αžΆαžš Raft αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž―αž€αž—αžΆαž– αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αž“αžΈαž˜αž½αž™αŸ—αž“αŸƒαž€αžΆαžšαž…αž˜αŸ’αž›αž„ Raft αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ TiFlash αŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž’αž“αž’αžΆαž“αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αžšαžœαžΆαž„αž€αž·αž…αŸ’αž…αž€αžΆαžš OLTP αž“αž·αž„ OLAP αž αžΎαž™αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αžΆαž“αž—αŸ’αž›αžΆαž˜αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžšαžœαž·αž—αžΆαž‚αŸ”

    TiDB 3.0 αž…αŸ‚αž€αž…αžΆαž™ DBMS αž…αŸαž‰αž•αŸ’αžŸαžΆαž™

  • αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αžŠαŸ‚αž›αž’αžΆαž…αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αž’αŸ† αž“αž·αž„αž’αŸ’αžœαžΎαž’αŸ„αž™αžŸαŸ’αžαŸαžšαž—αžΆαž–αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αŸ”
  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαž“αŸƒαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžαž½αž“αžΆαž‘αžΈ (RBAC) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ” αžœαžΆαž€αŸαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αž—αžΆαž‚ αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž€αŸ†αžŽαžαŸ‹αžŸαž€αž› αž“αž·αž„αž”αž„αŸ’αž αžΆαž‰αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš PROCESSLIST αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž€αž“αŸ’αžŸαŸ„αž˜ SQL αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžšαž„αŸ‹αžŸαŸ†αžŽαž½αžšαž™αžΊαžαŸ—αž–αžΈαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αŸ”
  • αž™αž“αŸ’αžαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαŸ’αžŠαžΆαžšαžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž”αžΆαž“αž›αž»αž”αž‘αžΎαž„αžœαž·αž‰αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαŸ’αžŠαžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž›αž»αž”αžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αŸ”
  • αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŠαŸ‚αž›αž”αžΆαž“αž€αžαŸ‹αžαŸ’αžšαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜;
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž”αŸ€αž”αž…αžΆαž€αŸ‹αžŸαŸ„αž‘αž»αž‘αž·αžŠαŸ’αž‹αž·αž“αž·αž™αž˜ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ MySQL αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž”αž„αŸ’αž’αž½αž… (αž˜αž»αžαž„αžΆαžšαž”αž„αŸ’αž’αž½αž… αž¬αž˜αž»αžαž„αžΆαžšαžœαž·αž—αžΆαž‚) αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ MySQL 8.0 αŸ” αž˜αž»αžαž„αžΆαžš Window αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž€αžΆαžšαž‚αžŽαž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž½αžšαžŸαŸ†αžŽαž½αžšαž“αžΈαž˜αž½αž™αŸ—αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‡αž½αžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž˜αž·αž“αžŠαžΌαž…αž’αž“αž»αž‚αž˜αž“αŸαžŸαžšαž»αž” αžŠαŸ‚αž›αžœαŸαž‰αžŸαŸ†αžŽαž»αŸ†αž‡αž½αžšαžŠαŸαž€αž˜αž½αž™αž€αŸ’αžšαž»αž˜αž‘αŸ…αž‡αžΆαž‡αž½αžšαžαŸ‚αž˜αž½αž™ αž˜αž»αžαž„αžΆαžšαž”αž„αŸ’αž’αž½αž…αžŸαžšαž»αž”αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒ "αž”αž„αŸ’αž’αž½αž…" αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αž½αžšαžŠαŸαž€αž˜αž½αž™ αž¬αž…αŸ’αžšαžΎαž“αž–αžΈαžŸαŸ†αžŽαž»αŸ†αž›αž‘αŸ’αž’αž•αž›αŸ” αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž˜αž»αžαž„αžΆαžšαž”αž„αŸ’αž’αž½αž…αžŠαŸ‚αž›αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ–
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK αž“αž·αž„ ROW_NUMBER;

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž˜αžΎαž› (VIEW);
  • αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ‚αž„αž…αŸ‚αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž‡αžΆαž•αŸ’αž“αŸ‚αž€αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž‡αž½αžšαž“αŸƒαžαž˜αŸ’αž›αŸƒαž¬αžŸαž‰αŸ’αž‰αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜;
  • αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αž§αž‘αžΆαž αžšαžŽαŸ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžšαž½αž…αž αžΎαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž‰αŸ’αž‡αžΈαžŸ IP αž¬αžšαž€αŸ’αžŸαžΆαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŸαžœαž“αž€αž˜αŸ’αž˜αŸ”
  • αž‡αŸ†αž“αž½αž™αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžš "αž€αžΆαžšαžœαž·αž—αžΆαž‚αž–αž“αŸ’αž™αž›αŸ‹" αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž•αŸ‚αž“αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžš SQL (αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž•αŸ‚αž“αž€αžΆαžš SQL);
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ next_row_id αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸƒαž‡αž½αžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžαŸ’αž˜αžΈ JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE αž“αž·αž„ NAME_CONSTαŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹