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

Chỉ mục dựa trên hàm trong SQL SERVER 2005

Bạn sẽ cần thêm một cột được tính toán

Alter Table BEER_HERE Add Column XBEER_DATE As dbo.TRUNCATE_DATE(BEER_DATE)

Sau đó, bạn có thể lập chỉ mục nó như bạn mong đợi.

Tuy nhiên, hàm của bạn cần phải xác định và chính xác như được định nghĩa trong http://msdn.microsoft.com/en-us/library/ms189292 (v =sql.90) .aspx . Hàm của bạn phải đáp ứng các yêu cầu này, nhưng bạn có thể cần thêm With SchemaBinding vào định nghĩa hàm.

Bạn cũng có thể sử dụng một chế độ xem

Create View V_BEER_HERE As Select BEER_CODE, BEER_DATE, dbo.TRUNCATE_DATE(BEER_DATE) As XBEER_DATE From BEER_HERE
Create Unique Clustered Index PK_V_BEER_HERE On V_BEER_HERE (BEER_CODE)
Create Index I_XBEER_DATE On V_BEER_HERE (XBEER_DATE)

Nội dung chèn ghi vào bảng, nội dung ghi đọc từ chế độ xem. Điều này phụ thuộc vào việc BEER_CODE là khóa chính.

SQL Server không có các chỉ mục dựa trên chức năng giống như cách Oracle làm.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UNION so với DISTINCT về hiệu suất

  2. Làm cách nào để đọc cột XML trong SQL Server 2008?

  3. SQL Server:Tính toán với các ký tự số

  4. Làm cách nào để liệt kê khóa chính của bảng SQL Server?

  5. Sử dụng OBJECTPROPERTY () để Tìm hiểu xem một Đối tượng có phải là Ràng buộc KIỂM TRA trong SQL Server hay không