Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo bảng với tên động thông qua quy trình đã lưu trữ

Bạn không thể thay thế tên bảng bằng ? trong một tuyên bố đã chuẩn bị sẵn và sau đó yêu cầu thực thi chèn tên bảng.

Tên bảng động thường là một ý tưởng tồi :tốt hơn là tạo 1 bảng lớn và thêm một cột bổ sung (được lập chỉ mục) cho "tên bảng ảo".

Nếu bạn thực sự cần bảng động, bạn sẽ phải nối tên bảng vào phần CHUẨN BỊ chính nó.

Pro và con của tên bảng động

Giả sử rằng thay vì đặt tất cả người dùng vào trong một bảng, users với các cột ID , Name , e-mail , country , ... , bạn đặt chúng vào các bảng động, users_country , với các cột ID , Name , e-mail , ...

  • Bạn không thể dễ dàng truy vấn tất cả các bảng. Giả sử bạn muốn biết có bao nhiêu người dùng của mình là nam - bạn phải truy vấn từng bảng và UNION kết quả. Sẽ không nhanh hơn.

  • Về mặt vật lý, bạn có thể chia các bảng bằng cách sử dụng PARTITIONS, nhưng chế độ xem logic của bạn vẫn giống nhau. Bất kỳ lợi ích nào bạn nghĩ rằng bạn có khi sử dụng các bảng riêng biệt thường có thể đạt được bằng cách sử dụng phương pháp khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách an toàn nhất để thêm html / css / js vào mysql là gì?

  2. Di chuyển cơ sở dữ liệu MySQL 8.0.20 sang AWS Aurora

  3. MySQL sử dụng giao thức truyền thông nào?

  4. Làm thế nào để mỗi hàng hoạt động trong trình kích hoạt trong mysql?

  5. CAST thành DECIMAL trong MySQL