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

Masalah kinerja yang aneh:Ekspresi Tabel Umum dalam Fungsi Buatan Pengguna sebaris

Haha, coba ini:

IF OBJECT_ID('_HappyFunction' ) IS NOT NULL DROP FUNCTION _HappyFunction IF OBJECT_ID('_SadFunction' ) IS NOT NULL DROP FUNCTION _SadFunction IF TYPE_ID ('_UniqueIntTable') IS NOT NULL DROP TYPE _UniqueIntTable GO CREATE TYPE _UniqueIntTable AS TABLE (Value int NOT NULL PRIMARY KEY) GO CREATE FUNCTION _HappyFunction (@IDs _UniqueIntTable READONLY) RETURNS TABLE AS RETURN SELECT Value FROM @IDs GO CREATE FUNCTION _SadFunction (@IDs _UniqueIntTable READONLY) RETURNS TABLE AS RETURN WITH CTE AS (SELECT Value FROM @IDs) SELECT Value FROM CTE GO -- this will return an empty record set DECLARE @IDs _UniqueIntTable SELECT * FROM _HappyFunction(@IDs) GO -- this will hang DECLARE @IDs _UniqueIntTable SELECT * FROM _SadFunction(@IDs) GO

Siapa yang akan menebak?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menanyakan nilai dari node xml?

  2. TSQL Msg 1013 Gunakan nama korelasi untuk membedakannya.

  3. Layanan SQL Server tidak tersedia dalam daftar layanan setelah instalasi SQL Server Management Studio

  4. Bagaimana saya bisa memanggil Prosedur Tersimpan SQL menggunakan EntityFramework 7 dan Asp.Net 5

  5. SQL Server - Sertakan NULL menggunakan UNPIVOT