Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution

    Đề bài: [SQL Server] Phân biệt clustered và nonclustered index

    Bảng sanpham(id, ten, gia) đang là heap (chưa có index gộp nhóm).

    Hãy tạo hai index:

    1. ix_sp_id — CLUSTERED trên cột id.
    2. ix_sp_gia — NONCLUSTERED trên cột gia.

    Sau đó in ra tên index và loại của nó (type_desc) cho mọi index của bảng, sắp xếp theo tên index tăng dần.

    • Định dạng đầu vào:

      Bảng sanpham đã được tạo sẵn. Cột: id INT, ten NVARCHAR(50), gia INT.

    • Ràng buộc đầu vào:

      Số sản phẩm ≤1000\le 1000≤1000. Mỗi bảng chỉ được có tối đa một clustered index.

    • Định dạng đầu ra:

      Mỗi dòng gồm tên index và type_desc (CLUSTERED hoặc NONCLUSTERED), cách nhau bởi TAB.

    Ghi chú:

    Clustered index quyết định thứ tự lưu trữ vật lý của dữ liệu nên mỗi bảng chỉ có một. Nonclustered index là cấu trúc riêng trỏ về dòng dữ liệu, mỗi bảng có thể có nhiều.

    Ví dụ:

    Đầu vào:

    CREATE TABLE sanpham(id INT, ten NVARCHAR(50), gia INT);
    INSERT INTO sanpham(id,ten,gia) VALUES (1,N'A',10),(2,N'B',20);

    Đầu ra:

    ix_sp_gia	NONCLUSTERED
    ix_sp_id	CLUSTERED

    Chủ đề

    🗄️ Cơ sở dữ liệuSQL ServerSQL Server: IndexTất cả môn học

    Đang tải editor...