Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to Full Optimize this
Message
 
 
To
07/03/2013 01:57:45
Mk Sharma
Shrishti Solutions
Mumbai, India
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01567687
Message ID:
01567695
Views:
81
This message has been marked as a message which has helped to the initial question of the thread.
Assuming that lcliftdate is a date. If not, adjust acccordingly
Do Case
        Case Thisform.Optiongroup1.Value = 1   &&  All Records
		Thisform._lcliftdate = ".T."
	Case Thisform.Optiongroup1.Value = 2   &&  Only Pending Records
		Thisform._lcliftdate = "liftdate == {}"
	Case Thisform.Optiongroup1.Value = 3   &&  Only Final Records
		Thisform._lcliftdate = "not liftdate == {}"
>Endcase
Another option to try, run first select w/o additional condition. After that use the cursor created as source for the second select with the additional condition.

>How to Full optimize below Select - sql ?
>
>
>clear 
>Local lcLiftcond
>Close Databases All
>Use 1001\psaudac In 0
>Use 1001\psaudam In 0
>Use 1001\customer In 0
>Use 1001\pcode1 In 0
>
>lcLiftcond = '.T.'
>
>Do Case
>        Case Thisform.Optiongroup1.Value = 1   &&  All Records
>		Thisform._lcliftdate = ".T."
>	Case Thisform.Optiongroup1.Value = 2   &&  Only Pending Records
>		Thisform._lcliftdate = "empty(liftdate)"
>	Case Thisform.Optiongroup1.Value = 3   &&  Only Final Records
>		Thisform._lcliftdate = "not empty(liftdate)"
>Endcase
>
>lcLiftcond = Thisform._lcliftdate
>
>= Sys(3054, 1)
>
>
>Select 0
>Select ;
>		Str(Val(psaudam.saudano), 10) As dono, ;
>		godown.acname As locname, ;
>		party.acname As acname, ;
>		pcode1.wood As prodname, ;
>		mill.acname As millname, ;
>		psaudac.Lotno, ;
>		psaudac.Bags, ;
>		psaudac.Weight, ;
>		psaudac.liftdate, ;
>		psaudac.Rem1, ;
>		psaudac.Childid ;
>	From psaudam ;
>	Left Outer Join customer godown ;
>		On godown.accode = psaudam.loccode ;
>	Left Outer Join customer party ;
>		On party.accode = psaudam.accode ;
>	inner Join psaudac ;
>		On psaudac.Masterid = psaudam.Masterid ;
>	Left Outer Join pcode1  pcode1 ;
>		On pcode1.pcode = psaudac.pcode ;
>	Left Outer Join customer mill ;
>		On mill.accode = psaudac.millcode ;
>	Where psaudam.trnstatus = 'YO' ;
>		And &lcLiftcond ;
>	Order By 1 ;
>	Into Cursor junk1 Readwrite
>
>**  if i remove below code then it is fully optimized, but how to optimize including below code
>*		And &lcLiftcond ;
>
>
>
>What alternate we can use for " And &lcLiftcond " ?
>
>Warm Regards,
>mk.
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform