Công cụ lưu trữ mysql

Công cụ lưu trữ là một mô-đun phần mềm mà hệ thống quản lý cơ sở dữ liệu sử dụng để tạo, đọc, cập nhật dữ liệu từ cơ sở dữ liệu. Có hai loại động cơ lưu trữ trong MySQL. giao dịch và không chuyển giao

Đối chiếu với MySQL 5. 5 trở lên, công cụ lưu trữ mặc định là Innodb. Công cụ lưu trữ mặc định cho MySQL trước phiên bản 5. 5 là Myisam. Chọn công cụ lưu trữ phù hợp là một quyết định chiến lược quan trọng, sẽ ảnh hưởng đến sự phát triển trong tương lai. Trong hướng dẫn này, chúng tôi sẽ sử dụng các công cụ lưu trữ Myisam, Innodb, bộ nhớ và CSV. Nếu bạn chưa quen với MySQL và bạn đang nghiên cứu hệ thống quản lý cơ sở dữ liệu MySQL, thì đây không phải là một mối quan tâm. Nếu bạn đang lên kế hoạch cho một cơ sở dữ liệu sản xuất, thì mọi thứ trở nên phức tạp hơn

Danh sách các công cụ lưu trữ

MYSQL Các công cụ lưu trữ được hỗ trợ

  • Innodb
  • Myisam
  • Kỉ niệm
  • CSV
  • Hợp nhất
  • Lưu trữ
  • Liên kết
  • Hố đen
  • Thí dụ

Innodb là công cụ lưu trữ được sử dụng rộng rãi nhất với hỗ trợ giao dịch. Nó là một động cơ lưu trữ cao thủ axit. Nó hỗ trợ khóa cấp hàng, phục hồi sự cố và điều khiển đồng thời đa phiên bản. Đây là động cơ duy nhất cung cấp ràng buộc toàn vẹn tham chiếu của nước bên ngoài. Oracle khuyên bạn nên sử dụng InnoDB cho các bảng ngoại trừ các trường hợp sử dụng chuyên ngành

Myisam là công cụ lưu trữ ban đầu. Nó là một động cơ lưu trữ nhanh. Nó không hỗ trợ các giao dịch. Myisam cung cấp khóa bảng. Nó được sử dụng chủ yếu trong kho dữ liệu và web

Công cụ lưu trữ bộ nhớ tạo các bảng trong bộ nhớ. Nó là động cơ nhanh nhất. Nó cung cấp bảng từ khóa. Nó không hỗ trợ các giao dịch. Công cụ lưu trữ bộ nhớ là lý tưởng để tạo bảng tạm thời hoặc tra cứu nhanh. Dữ liệu bị mất khi cơ sở dữ liệu được khởi động lại

CSV lưu trữ dữ liệu trong các tệp CSV. Nó cung cấp sự linh hoạt tuyệt vời vì dữ liệu ở định dạng này dễ dàng tích hợp vào các ứng dụng khác

Hợp nhất các hoạt động trên bảng Myisam bên dưới. Hợp nhất bảng giúp quản lý khối lượng lớn dữ liệu dễ dàng hơn. Nó là một cách hợp lý nhóm một loạt các bảng Myisam giống nhau và tham chiếu chúng là một đối tượng. Good for data field data

Công cụ lưu trữ lưu trữ được tối ưu hóa để chèn tốc độ cao. Nó nén dữ liệu khi nó được chèn vào. Nó không hỗ trợ các giao dịch. Đó là lý tưởng để lưu trữ và truy xuất một lượng lớn dữ liệu lịch sử, lưu trữ lịch sử được tham khảo

Công cụ lưu trữ blackhole chấp nhận nhưng không lưu trữ dữ liệu. Truy xuất luôn trả về một bộ trống. Chức năng có thể được sử dụng trong thiết kế cơ sở dữ liệu phân tán trong đó dữ liệu được tự động sao chép, nhưng không được lưu vào bộ lưu trữ cục bộ. Công cụ lưu trữ này có thể được sử dụng để thực hiện kiểm tra hiệu suất hoặc thử nghiệm khác

Công cụ lưu trữ Liên kết cung cấp khả năng phân tách các máy chủ MySQL để tạo logic cơ sở dữ liệu từ nhiều máy chủ vật lý. Truy vấn trên bộ máy chủ cục bộ được thực hiện tự động trên các bảng điều khiển từ xa (được liên kết). Không có dữ liệu nào được lưu trữ trên các bảng cục bộ. Nó là tốt cho môi trường phân tán

mysql> SHOW ENGINES\G
*************************** 1. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 2. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
...

Lệnh SHOW ENGINES hiển thị tất cả các công cụ có sẵn mà máy chủ hỗ trợ

Chọn đúng động cơ

Không có công cụ lưu trữ là lý tưởng cho mọi trường hợp. Một số hoạt động tốt nhất trong một số điều kiện ổn định nhất và giải quyết tình trạng tồi tệ hơn trong các tình huống khác nhau. Có sự thay đổi hơn phải được xem xét. Một giải pháp an toàn hơn cần nhiều tài nguyên hơn; . MySQL rất linh hoạt trong thực tế là nó cung cấp một số công cụ lưu trữ khác nhau. Một số trong số chúng, chẳng hạn như công cụ lưu trữ, được tạo ra để được sử dụng trong các tình huống cụ thể

Trong một số trường hợp, câu trả lời được xác định rõ ràng. Bất kể khi nào chúng tôi giao dịch với một số hệ thống thanh toán, chúng tôi có nghĩa vụ phải sử dụng giải pháp một cách toàn diện nhất. Chúng tôi không đủ khả năng để mất dữ liệu nhạy cảm như vậy. Innodb is con road to go. Nếu chúng ta muốn tìm kiếm toàn văn, thì chúng ta có thể chọn MyIsam hoặc Innodb. Chỉ hỗ trợ InnoDB ràng buộc ràng buộc toàn bộ tham chiếu từ khóa nước ngoài và nếu chúng ta có kế hoạch sử dụng ràng buộc này, thì lựa chọn này rõ ràng

Chỉ định và thay đổi công cụ lưu trữ

archive tool is only fixed at the pointTạo bảng

mysql> CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name VARCHAR(50), 
    -> Cost INTEGER) ENGINE='MyISAM';

Từ khóa ENGINE chỉ định công cụ lưu trữ được sử dụng cho bảng công cụ này

Nếu chúng tôi không chỉ định rõ công cụ lưu trữ rõ ràng, thì công cụ lưu trữ mặc định được sử dụng. Trước MySQL 5. 5, default backup tool is myisam. Đối chiếu với MySQL 5. 5 trở lên, công cụ lưu trữ mặc định là Innodb

Có thể chuyển đến một công cụ lưu trữ khác. Lưu ý rằng việc di chuyển một bàn lớn có thể mất nhiều thời gian. Ngoài ra, chúng tôi có thể gặp một số vấn đề khi chuyển bảng. Một số tính năng có thể không được hỗ trợ trong cả hai bảng

mysql> SELECT ENGINE FROM information_schema.TABLES
    -> WHERE TABLE_SCHEMA='mydb'
    -> AND TABLE_NAME='Cars';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0,05 sec)

Câu lệnh SQL này tìm ra công cụ lưu trữ được sử dụng cho bảng Cars trong cơ sở dữ liệu

mysql> CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name VARCHAR(50), 
    -> Cost INTEGER) ENGINE='MyISAM';
0. Chúng tôi cũng có thể sử dụng câu lệnh
mysql> CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name VARCHAR(50), 
    -> Cost INTEGER) ENGINE='MyISAM';
0 SQL

mysql> CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name VARCHAR(50), 
    -> Cost INTEGER) ENGINE='MyISAM';
0 là một bảng lưu trữ thông tin kỹ thuật về các bảng của chúng tôi.
mysql> ALTER TABLE Cars ENGINE='MyISAM';

Câu lệnh SQL này đã thay đổi công cụ lưu trữ của bảng Cars thành myisam

mysql> SELECT ENGINE FROM information_schema.TABLES
    -> WHERE TABLE_SCHEMA='mydb'
    -> AND TABLE_NAME='Cars';
+--------+
| ENGINE |
+--------+
| MyISAM |
+--------+
1 row in set (0,00 sec)

Bây giờ cơ lưu trữ của bảng là myisam

In this section of direction MySQL, chúng tôi đã bao phủ các công cụ lưu trữ

Noi dung before next

Động cơ lưu trữ nào tốt nhất trong MySQL?

Công cụ lưu trữ là các thành phần MySQL xử lý các hoạt động SQL cho các loại bảng khác nhau. Innodb là công cụ lưu trữ có mục đích mặc định và tốt nhất, và Oracle khuyến nghị sử dụng nó cho các bảng ngoại trừ các trường hợp sử dụng chuyên dụng. . InnoDB là công cụ lưu trữ mặc định và có mục đích chung nhất và Oracle khuyên bạn nên sử dụng nó cho các bảng ngoại trừ các trường hợp sử dụng chuyên biệt. (Câu lệnh CREATE TABLE trong MySQL 8. 0 tạo các bảng InnoDB theo mặc định. )

Động cơ lưu trữ trong MySQL ở đâu?

Phát hành tuyên bố của chương trình công cụ để xem các công cụ lưu trữ MySQL có sẵn. Default search search in support column. mysql> display engine; Đi ra, truy vấn thông tin_schema. . Tìm MẶC ĐỊNH trong cột HỖ TRỢ. mysql> HIỂN THỊ ĐỘNG CƠ; .

Công cụ lưu trữ trong DBMS là gì?

Một công cụ cơ sở dữ liệu (hoặc công cụ lưu trữ) là thành phần phần mềm cơ bản mà Hệ thống quản lý cơ sở dữ liệu (DBMS) sử dụng để tạo, đọc, cập nhật và xóa dữ liệu . thành phần phần mềm cơ bản mà hệ thống quản lý cơ sở dữ liệu (DBMS) sử dụng để tạo, đọc, cập nhật và xóa (CRUD) dữ liệu khỏi cơ sở dữ liệu