Trừ khi bạn đang viết một ứng dụng mà bạn biết thực tế là sẽ cần phải có tính di động hoặc bạn chỉ muốn có thông tin khá cơ bản, tôi sẽ chỉ mặc định sử dụng chế độ xem hệ thống SQL Server độc quyền để bắt đầu.
Information_Schema
chế độ xem chỉ hiển thị các đối tượng tương thích với tiêu chuẩn SQL-92. Điều này có nghĩa là không có chế độ xem lược đồ thông tin cho các cấu trúc thậm chí khá cơ bản như chỉ mục (Chúng không được định nghĩa trong tiêu chuẩn và được để lại dưới dạng chi tiết triển khai.) Hãy để một mình bất kỳ tính năng độc quyền nào của SQL Server.
Ngoài ra, nó không hoàn toàn là liều thuốc chữa bách bệnh cho tính di động mà người ta có thể cho là. Việc triển khai vẫn khác nhau giữa các hệ thống. Oracle hoàn toàn không triển khai nó "out of the box" và tài liệu MySql cho biết:
Người dùng SQL Server 2000 (cũng tuân theo tiêu chuẩn) có thể nhận thấy sự tương đồng mạnh mẽ. Tuy nhiên, MySQL đã bỏ qua nhiều cột không liên quan đến việc triển khai của chúng tôi và thêm các cột dành riêng cho MySQL. Một trong những cột như vậy là cột ENGINE trong bảngINFORMATION_SCHEMA.TABLES.
Ngay cả đối với các cấu trúc SQL bread and butter chẳng hạn như các ràng buộc khóa ngoại thì Information_Schema
chế độ xem có thể kém hiệu quả hơn đáng kể so với sys.
xem vì chúng không hiển thị id đối tượng sẽ cho phép truy vấn hiệu quả.
ví dụ. Xem câu hỏi Truy vấn SQL chậm từ 1 giây đến 11 phút - tại sao? và kế hoạch thực hiện.
INFORMATION_SCHEMA
hệ thống