テーブルから大量のデータを取得するときに問題があります。
私はデータベーステーブルを持っていますTblJobs
。このテーブルには、いくつかの列に大量のデータが含まれています(この列には約60,000文字)。
私のテーブル:
Tblジョブ
JobId JobTitle JobDescription
----------------------------------------------------------------
1 Job1 TextTextTextTextTextTextTextTextTextTextTextText... (approx 40,000 characters without any space in job description)
2 Job2 HelloHelloHelloHelloHelloHelloHelloHelloHelloHell..(approx 60,000 characters without any space in job description)
3 Job3 DemoDemoDemoDemoDemoDemoDemoDemoDemoDemoDemoDemo...(approx 60,000 characters without any space in job description)
4 Job4 TestingTestingTestingTestingTestingTestingTesti....(approx 50,000 characters without any space in job description)
テーブルの構造は次のとおりです。
JobId - Int
JobTitle - VarChar(500)
JobDescription - VarChar(MAX)
今私の問題は、クエリを実行してすべての列を選択すると、実行TblJobs
に時間がかかりすぎることです(約30秒)。これを使って -
Select * from TblJobs
また
Select JobId, JobTitle, JobDescription from TblJobs
一部のデータをテーブルの列に変更するJobDescription
と、このクエリはわずか 3 ~ 5 秒で実行されることに驚きました。
変更では、列のデータ間にいくつかのスペースを空けJobDescription
ます。
たとえば、次の表を見ることができます。この表では、jobDescription
列間にスペースを入れているだけです (データ型やデータ量は変更していません)。
JobId JobTitle JobDescription
------------------------------------------------------------------------
1 Job1 Text TextTextText**<space>**TextTextTextText**<space>**TextTextTextText... (approx 40,000 characters with some space in job description)
2 Job2 HelloHello**<space>**HelloHelloHelloHello**<space>**HelloHelloHelloHell..(approx 60,000 characters with some space in job description)
3 Job3 DemoDemoDemoDemo**<space>**DemoDemoDemoDemoDemo**<space>**DemoDemoDemo...(approx 60,000 characters with some space in job description)
4 Job4 TestingTesting**<space>**TestingTestingTesting**<space>**TestingTesti....(approx 50,000 characters with some space in job description)
jobdescription
だから私の質問は、スペースがないときに選択クエリの実行に時間がかかりすぎるのはなぜですか? 私の場合、時間の問題はデータの量に関係ないと思います。