>HI Nadya,
>
>Have you tried to reindex the index? It might have become unbalanced.
>Another cause might be that the table is highly fragmented over the disk. Did you try to defragment
>
>Walter,
Walter,
Yes, I also suspected index corruption. Unfortunately, I have no control on it. The table is located on the server and I don't have an access to Data directory on this server. It's no use to ask the owner of the site to try to fix it. He spent too much of his time on this and now he is even not talking with me and refusing all my requests. I called him couple of times to Estonia...
Stupid me! Of course, I can just create a program to delete tag and recreate it and run it. I'll do it later!
Do you think, it would be OK to delete just one tag instead al all?
BTW, I have another idea. The resulting cursor already have all info. Instead of passing Subsc_ID I can pass the full string of info...
>>>>Hi everybody,
>>>>
>>>>I have a table with ~3MM records. The table has records with ID from 1 to 3MM in order (e.g. it's sorted already). I have an index on ID. I found, that I can easily search up to 10000, then search becomes extremely slow. I tried seek, seek(), indexseek(), select SQL. Nothing works.
>>>>
>>>>What can I do?
>>>
>>>Disregard. I just figured out the simplest solution. How blind we all were!!!
>>>
>>>Well, to my surprise this solution doesn't work either.
>>
>>Ok, I found, that the only command, that works quickly, is SET KEY TO All other commands (SEEK, INDEXSEEK, LOCATE FOR, GO TO, etc.) work extremely slow, when I need to find 125000 record. SET KEY works fast. But it always returns the same name, which is not correct.
>>
>>I'm going crazy.
>>
>>Here are all my attempts:
>>local cTitle
>>set deleted off
>>select subscribers
>>set order to tag subsc_id
>>*set order to
>>*go top
>>_nID=Request.QueryString("subsc_ID")
>>
>>*=indexseek(val(m._nID),.t.,'Subscribers','Subsc_ID')
>>*locate for Subsc_ID= val(m._nID)
>>*goto val(m._nID)
>>set key to range val(m._nID), val(m._nID)
>>
>>*locate for recno()= val(m._nID)
>>
>>*select rtrim(subscribers.FirstName) + " " + *rtrim(subscribers.LastName) as cTitle ;
>>*from Subscribers where Subsc_ID = val(_nID) into cursor curTemp
>>*seek val(m._nID)
>>
>>As you see, I commented out every command. I tried each of them few times, none work.
>>
>>Could you please help me?
If it's not broken, fix it until it is.
My Blog