代码之家  ›  专栏  ›  技术社区  ›  Zain Shaikh

如何优化以下SQL查询以提高性能?

  •  2
  • Zain Shaikh  · 技术社区  · 14 年前

    select * from Employee where CNIC = 'some-CNIC-number'
    

    使用alias有助于提高速度吗?

    我正在使用Microsoft SQL Server。

    3 回复  |  直到 14 年前
        1
  •  5
  •   JNK    14 年前

    如果你告诉我们你在用什么关系数据库会更好,但是。。。

    SELECT * . 指定所需的列。更少的数据=更快的查询

    CNIC . 您还希望主键上有一个好的聚集索引(最好是类似于ID号的索引)

    3-你把数字用单引号引起来 ' ' 这表示您可以将其作为varchar列。如果它始终是数字,则应该是 int/bigint 数据类型。这占用的空间更少,检索和索引速度更快。

        2
  •  2
  •   Quassnoi    14 年前

    在上创建索引 CNIC :

    CREATE INDEX ix_employee_cnic ON employee (cnic)
    
        3
  •  1
  •   Peter Mortensen icecrime    14 年前

    int 而不是 varchar nvarchar 因为与 瓦查尔 女巫 .

    第二,使用 with (no lock)

    select * from Employee with (nolock) where CNIC = 'some-CNIC-number'
    

    这是为了尽量减少陷入僵局的可能性。