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

Sử dụng varchar (MAX) so với TEXT trên SQL Server

VARCHAR(MAX) type thay thế cho TEXT . Sự khác biệt cơ bản là TEXT type sẽ luôn lưu trữ dữ liệu trong một blob trong khi VARCHAR(MAX) type sẽ cố gắng lưu trữ dữ liệu trực tiếp trong hàng trừ khi nó vượt quá giới hạn 8k và tại thời điểm đó, nó sẽ lưu trữ nó trong một đốm màu.

Sử dụng câu lệnh LIKE là giống hệt nhau giữa hai kiểu dữ liệu. Chức năng bổ sung VARCHAR(MAX) cung cấp cho bạn là nó cũng có thể được sử dụng với =GROUP BY như bất kỳ VARCHAR nào khác cột có thể được. Tuy nhiên, nếu bạn có nhiều dữ liệu, bạn sẽ gặp vấn đề lớn về hiệu suất khi sử dụng các phương pháp này.

Về việc bạn có nên sử dụng LIKE hay không để tìm kiếm hoặc nếu bạn nên sử dụng Lập chỉ mục văn bản đầy đủ CONTAINS . Câu hỏi này giống nhau bất kể VARCHAR(MAX) hoặc TEXT .

Nếu bạn đang tìm kiếm một lượng lớn văn bản và hiệu suất là yếu tố then chốt thì bạn nên sử dụng Chỉ mục văn bản đầy đủ .

LIKE đơn giản hơn để triển khai và thường phù hợp với lượng dữ liệu nhỏ, nhưng nó có hiệu suất cực kỳ kém với dữ liệu lớn do không có khả năng sử dụng chỉ mục.



  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ập nhật cột đếm từ dữ liệu trong bảng khác

  2. Một thay đổi quan trọng đối với Sự kiện mở rộng trong SQL Server 2012

  3. Sử dụng GO trong một giao dịch

  4. Có thể truy cập cơ sở dữ liệu .mdf mà không có SQL Server không?

  5. Hãy nhớ điều này khi định dạng kiểu dữ liệu TIME trong SQL Server (T-SQL)