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

Tại sao sử dụng Chọn 100 Phần trăm Hàng đầu?

Nó được sử dụng để "vật liệu hóa trung gian (tìm kiếm của Google)"

Bài viết hay:Adam Machanic:Khám phá bí mật của quá trình vật chất hóa trung gian

Anh ấy thậm chí còn gây dựng một MS Connect để nó có thể được thực hiện theo cách gọn gàng hơn

Quan điểm của tôi là "vốn dĩ không tệ", nhưng đừng sử dụng nó trừ khi chắc chắn 100%. Vấn đề là, nó chỉ hoạt động tại thời điểm bạn làm điều đó và có thể không sau này (cấp bản vá, lược đồ, chỉ mục, số lượng hàng, v.v.) ...

Ví dụ về công việc

Điều này có thể không thành công vì bạn không biết mọi thứ được đánh giá theo thứ tự nào

SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1 AND CAST(foo AS int) > 100

Và điều này cũng có thể không thành công vì

SELECT foo
FROM
    (SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1) bar
WHERE
    CAST(foo AS int) > 100

Tuy nhiên, điều này không xảy ra trong SQL Server 2000. Truy vấn bên trong được đánh giá và phân phối:

SELECT foo
FROM
    (SELECT TOP 100 PERCENT foo From MyTable WHERE ISNUMERIC (foo) = 1 ORDER BY foo) bar
WHERE
    CAST(foo AS int) > 100

Lưu ý, điều này vẫn hoạt động trong SQL Server 2005

SELECT TOP 2000000000 ... ORDER BY...


  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 thích hợp để triển khai ràng buộc duy nhất cho phép nhiều giá trị NULL trong SQL Server

  2. CTE để nhận tất cả các con (con cháu) của một phụ huynh

  3. SQL Server Express so với express localdb

  4. Truy vấn SQL - Nối kết quả thành một chuỗi

  5. Cách chỉnh sửa tùy chọn máy chủ được liên kết bằng T-SQL