Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Indeks Berbasis Fungsi di SQL SERVER 2005

Anda perlu menambahkan kolom yang dihitung

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

Anda kemudian dapat mengindeksnya seperti yang Anda harapkan.

Namun, fungsi Anda harus deterministik dan tepat seperti yang didefinisikan dalam http://msdn.microsoft.com/en-us/library/ms189292(v=sql.90).aspx . Fungsi Anda harus memenuhi persyaratan ini, tetapi Anda mungkin perlu menambahkan With SchemaBinding ke definisi fungsi.

Anda mungkin juga dapat menggunakan tampilan

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)

Hal-hal yang menyisipkan menulis ke tabel, hal-hal yang membaca membaca dari tampilan. Ini bergantung pada BEER_CODE sebagai kunci utama.

SQL Server tidak memiliki indeks berbasis fungsi seperti halnya Oracle.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara cepat untuk memeriksa apakah kolom APAPUN adalah NULL?

  2. Hilangkan dan kurangi rentang tanggal yang tumpang tindih

  3. Apakah ada SELECT ... INTO OUTFILE yang setara di SQL Server Management Studio?

  4. SQL - Tipe data operan datetime2 tidak valid untuk operator pengurangan

  5. Saya Membutuhkan Daftar Negara di T-SQL