Jim Dettman
jimdettman at earthlink.net
Fri Aug 15 08:01:14 CDT 2003
John, I never said that I believed it or hoped it to be true. I simply said I don't know the answer. And I didn't say you were wrong either. I just asked how you knew for sure that it was the case other then observation. I'm glad Martin has the ability to pass this along (hopefully to Kevin) and get an answer that is definite. Then we will know for sure. Jim Dettman President, Online Computer Services of WNY, Inc. (315) 699-3443 jimdettman at earthlink.net -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of John Colby Sent: Thursday, August 14, 2003 2:43 PM To: Access Developers discussion and problem solving Subject: RE: [AccessD] Indexes on text fields Jim, Since no one (I know) knows the internals of JET, I am not going to argue with you on that account. In fact, I am not going to argue with you at all. If you wish to believe (or hope, or pray) that Jet can magically parse a bunch of stuff used to create an appended string back into it's components, and then use that information to decide whether or not to attempt to apply Rushmore to whatever pieces it can determine comes from table fields.... uh... Can I state it as a fact. Of course not. What I can say is that I have a very good class for timing stuff down to milli-second increments. Anyone who wishes to may use that class to empirically time such queries. I will be willing to bet good money, up to a month's wages (I'm "unemployed" of course) against an equal number of doughnuts that you will find, 100 times out of 100 times, that attempting to apply a sort to such a field will, each and every time, be an order of magnitude slower than using the component fields yourself to perform the sort. And of course, having done that, one still can't state as FACT that Jet isn't attempting to use Rushmore to perform the sort on the appended string field. And yes, I have read it in various places over the years. I have long ago lost the ability to recall where I read every piece of information I have read. So let's not start any myths here. I do not know for a fact that Jet doesn't use Rushmore (or anything else) to attempt to optimize such queries. I simply have the sense to look at what would be required, the silliness of the concept, and the results I have seen in my personal experience, and state that I know, without a shadow of a doubt, that Access makes no attempt to apply such methods to a sort of an appended string. John W. Colby www.colbyconsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Jim Dettman Sent: Thursday, August 14, 2003 1:12 PM To: Access Developers discussion and problem solving Subject: RE: [AccessD] Indexes on text fields John, <<Nope, I cannot give you and sources and will not spend my time looking. Go look in any book on Access queries, sorting and indexing and I'm sure you'll find your own.>> That's why I'm asking. I have pretty much read everything there is to read about JET over the past 10 years, and I've never seen anything on this. <<[Fielda] & Random() & [Fieldb] & ascii(right$("John Colby",1)) How in the world is any index on FieldA and FieldB going to help you sort that expression into logical order?>> Rushmore works by making merges/intersections between indexes. JET queries as we all know are very aware of the underlying tables. This has been a key feature of Access/JET since day 1. JET may be smart enough to figure out that the logical order is based on two fields it already has indexes for. Then again it may not be. <<How in the world is Access going to determine whether to even try?>> It knows the field names and what tables they come from. <<The resulting string expression can be ANYTHING!!!>> Yes, but that wasn't the example Mark gave. <<Access does NOT use the indexes on the fields used to build up an appended string. If you apply a sort order to such a string, Access will do the sort on the resulting string, on-the-fly, and it will be PAINFULLY slow!!!>> That seems to be the case, but do you really know for sure? I don't believe you do. I'm not saying your wrong, but I don't think you can state it as a fact, unless you have seen docs on JET's internal workings. That's why I asked you to cite a source. It's just like the myth that got started about domain functions always being the slowest of methods. This is not the case as in some situations, a domain function can actually beat every other method. That floated around for several years until someone sat down and tested it and found it not to be true. Jim Dettman President, Online Computer Services of WNY, Inc. (315) 699-3443 jimdettman at earthlink.net -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of John Colby Sent: Thursday, August 14, 2003 10:09 AM To: Access Developers discussion and problem solving Subject: RE: [AccessD] Indexes on text fields <<snip>> _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com