0

テーブル station_tbl:

station_name   |  fare_adult |  fare_child |  fare_OKU |  type |    stationid

New City            2.00         1.00         1.00       0            19900
Old Village         2.00         1.00         1.00       0            54900
Old City            5.00         2.50         2.50       1            23100
New Castle          1.00         0.50         0.50       1            22900
Adult                                                    2              0
Child                                                    2              1
OKU                                                      2              2
Single                                                   3              0
Return                                                   3              1

私のクエリ:チケット情報を表示する

SELECT
    A.ticketid,
    B.station_name AS stationid,
    c.station_name AS destination,
    CONVERT(VARCHAR(5), GETDATE(), 108) AS TIME,
    CONVERT(VARCHAR(12), GETDATE(), 103) AS Date,
    D.station_name AS ticket_type,
    e.station_name AS journey_type,
    amount,
    issuedby
FROM ticketcollections AS A, 
    station_tbl AS B, 
    station_tbl AS c, 
    station_tbl AS D, 
    station_tbl AS e
WHERE A.ticketidparent = '" + Request("ParentId") + "'
    AND A.stationid = B.stationid
    AND B.type = 0
    AND A.destination = c.stationid
    AND c.type = 0
    AND A.ticket_type = D.stationid
    AND D.type = 4
    AND A.journey_type = e.stationid
    AND e.type = 3

すべてのデータを 1 つのテーブルにまとめました。

このテーブルは、駅名の名前とチケットの種類を格納するためのものです。

テーブルticketcollectionsに格納するだけcode (1, 2, 3, 4)です。したがって、チケットを印刷したい場合はstation_tbl、表示の命名目的でこれを参照します。

このクエリによってクエリが遅くなりすぎる場合は、助けてください。

私の PC では高速ですが、ユーザーの PC では低速です。

私は2つの表だけを参照しました。

4

2 に答える 2

0

これを試して:

SELECT
    A.ticketid,
    B.station_name AS stationid,
    B.station_name AS destination,
    CONVERT(VARCHAR(5), GETDATE(), 108) AS TIME,
    CONVERT(VARCHAR(12), GETDATE(), 103) AS Date,
    B.station_name AS ticket_type,
    B.station_name AS journey_type,
    amount,
    issuedby
FROM ticketcollections A
    station_tbl AS B,
WHERE A.ticketidparent = '" + Request("ParentId") + "'
    AND A.stationid = B.stationid
    AND B.type in(0,4,3)
于 2013-07-10T05:49:47.113 に答える
0

テーブルにインデックスはありますか?少なくとも、ticketcollections と station_tbl の stationId と、station_tbl タイプにそれらを配置することをお勧めします。

于 2013-07-10T05:50:38.210 に答える