[ic] Improve speed on retrieving data

Jon Jensen interchange-users@interchange.redhat.com
Fri Jan 11 17:58:00 2002


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--8323328-303594186-1010789826=:1391
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Fri, 11 Jan 2002, Peter Jakl wrote:

> I basically have the following:
>
> [query st=db list=1 more=1 ml=20 sql='select sku from products where
> ...']
>
> The select is doing a sloooow keyword search on a database with 179,000
> products. I'm using mysql. I have a much faster method of generating the
> list of skus, but need to run an external command.
>
> Is there some way to run this command to generate the list of skus,
> while preserving the "more" and "list" feature?

You could call your external command in a usertag, then return the list.
I've been meaning to write some docs on this for a while, so I sat down
and did a usertag that will return either an inline text list or a Perl
array reference, and a tutorial HTML page that shows it in action (see
attachments).

Just customize the usertag to call your external program, and you should
be up and running. Note that you will have to make your usertag global to
call an external program. (Put it in interchange.cfg or in the usertag
directory in the Interchange root directory.) Otherwise, this usertag runs
fine as a catalog usertag.

Note that others' suggestions to optimize your query, etc. are still valid
and may be the best way to go. But this shows that the way you thought of
is possible. Let me know how it works for you.

Jon

--8323328-303594186-1010789826=:1391
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="custom_search_tutorial.html"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33L2.0201111757060.1391@louche.swelter.net>
Content-Description: 
Content-Disposition: attachment; filename="custom_search_tutorial.html"

PGh0bWw+DQo8aGVhZD4NCgk8dGl0bGU+Q3VzdG9tIHNlYXJjaCBsaXN0IHR1
dG9yaWFsPC90aXRsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8aDE+SW5saW5l
IGxpc3Q8L2gxPg0KDQo8cD5IZXJlIHlvdSBqdXN0IGR1bXAgdGhlIHRleHQg
b2YgeW91ciBsaXN0IGludG8gdGhlIGxpc3QgcGFyYW1ldGVyLg0KVGhpcyB3
YXkgaXMgZWFzaWVyIHRvIGNvZGUsIGJ1dCBoYXMgc2lnbmlmaWNhbnQgZG93
bnNpZGVzOjwvcD4NCg0KPHVsPg0KCTxsaT5JdCdzIHNsb3dlci4NCgk8bGk+
SXQgZG9lc24ndCBnaXZlIHlvdSBmaWVsZCBuYW1lcyB0byB1c2UgaW4gJiM5
MTtwcmVmaXgtcGFyYW0gZmllbGRuYW1lXTsgeW91IG11c3QgdXNlIHRoZSBs
ZXNzIHJlYWRhYmxlIGFuZCBmbGV4aWJsZSAmIzkxO3ByZWZpeC1wb3MgZmll
bGRudW1dLg0KCTxsaT5Zb3VyIGRhdGEgY2FuJ3QgY29udGFpbiBhbnkgdGFi
cyBvciBuZXdsaW5lcywgYmVjYXVzZSBJbnRlcmNoYW5nZSB1c2VzIHRoZW0g
dG8gZGVtYXJjYXRlIGNvbHVtbnMgYW5kIHJvd3MgZm9yIHRoaXMga2luZCBv
ZiBsaXN0Lg0KCTxsaT5Zb3VyIGRhdGEgY2FuJ3QgY29udGFpbiB0aGUgZGVs
aW1pdGVyIHlvdSB1c2UgdG8gcXVvdGUgeW91ciBsaXN0PSIuLi4iIGluIHRo
ZSAmIzkxO2xvb3BdIHRhZyBpZiB5b3UgdXNlIGEgbGl0ZXJhbCBsaXN0LiAo
SXQncyBub3QgYSBwcm9ibGVtIGluIG91dHB1dCBmcm9tIGEgdGFnLCBhcyB1
c2VkIGluIHRoaXMgZXhhbXBsZS4pDQo8L3VsPg0KDQo8dGFibGUgYm9yZGVy
Pg0KW2xvb3AgbHI9MSBsaXN0PXxbY3VzdG9tX3NlYXJjaCBkZWxpbT1kZWxp
bV18IG1vcmU9MSBtbD0yMF0NCjx0cj4NCgk8dGQ+W2xvb3AtcG9zIDBdPC90
ZD4NCgk8dGQ+W2xvb3AtcG9zIDFdPC90ZD4NCjwvdHI+DQpbL2xvb3BdDQo8
L3RhYmxlPg0KDQo8aHI+DQoNCjxoMT5QZXJsIGFycmF5IHJlZmVyZW5jZTwv
aDE+DQoNCjxwPllvdSBjYW4gYWxzbyBwYXNzIGluIGEgcmVmZXJlbmNlIHRv
IGFuIGFycmF5IG9mIHJlc3VsdCByb3cgYXJyYXlzIGNvbnRhaW5pbmcgdGhl
IHJlc3VsdCBmaWVsZHMuIChBbmQgb3B0aW9uYWxseSwgYSBoYXNocmVmIG9m
IGZpZWxkIG5hbWUgbWFwcGluZ3MgYW5kIGFuZCBhcnJheXJlZiBvZiBmaWVs
ZCBuYW1lcyBpbiBvcmRlci4pIFRoaXMgd2F5IGlzIGEgbGl0dGxlIG1vcmUg
Y29tcGxpY2F0ZWQgb24gdGhlIFBlcmwgc2lkZSwgYnV0IGRvZXNuJ3QNCmhh
dmUgYW55IG9mIHRoZSBkcmF3YmFja3MgbGlzdGVkIGFib3ZlLjwvcD4NCg0K
PHRhYmxlIGJvcmRlcj4NCltjdXN0b21fc2VhcmNoIHNjcmF0Y2g9cmVzdWx0
c10NCltsb29wIGxyPTEgbGlzdD1gJFNjcmF0Y2gtPntyZXN1bHRzfWAgbW9y
ZT0xIG1sPTIwXQ0KPHRyPg0KCTx0ZD5bbG9vcC1wYXJhbSBrZXldPC90ZD4N
Cgk8dGQ+W2xvb3AtcGFyYW0gZGVzY3JpcHRpb25dPC90ZD4NCjwvdHI+DQpb
L2xvb3BdDQo8L3RhYmxlPg0KDQo8L2JvZHk+DQo8L2h0bWw+DQo=
--8323328-303594186-1010789826=:1391
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="custom_search.tag"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33L2.0201111757061.1391@louche.swelter.net>
Content-Description: 
Content-Disposition: attachment; filename="custom_search.tag"

VXNlclRhZyBjdXN0b21fc2VhcmNoIGFkZEF0dHINClVzZXJUYWcgY3VzdG9t
X3NlYXJjaCBSb3V0aW5lIDw8RU9SDQpzdWIgew0KCW15ICgkb3B0KSA9IEBf
Ow0KDQoJIyBkbyB5b3VyIHNlYXJjaCwgYW5kIHB1dCB0aGUgcmVzdWx0cyBp
bnRvIGFuIGFycmF5IG9mIGFycmF5czoNCglteSAkcmVmID0gWw0KCQlbICdj
b2RlOCcsCSdmaWVsZFgnIF0sDQoJCVsgJ2NvZGU5JywJJ2ZpZWxkWScgXSwN
CgkJWyAnY29kZTEwJywJJ2ZpZWxkWicgXSwNCgldOw0KDQoJIyBtYWtlIGFu
IG9yZGVyZWQgbGlzdCBvZiBmaWVsZCBuYW1lczoNCglteSBAZmllbGRzID0g
cXcoDQoJCWtleQ0KCQlkZXNjcmlwdGlvbg0KCSk7DQoNCgkjIHJldHVybiB0
aGUgYXJyYXkgcmVmZXJlbmNlDQoJaWYgKCRvcHQtPntzY3JhdGNofSkgew0K
CQlteSAkaSA9IDA7DQoJCW15ICRmaCA9IHsgbWFwIHsgJF8gPT4gJGkrKyB9
IEBmaWVsZHMgfTsNCgkJJFNjcmF0Y2gtPnskb3B0LT57c2NyYXRjaH19ID0g
WyAkcmVmLCAkZmgsIFxAZmllbGRzIF07DQoJCXJldHVybjsNCgl9DQoJIyBv
ciB0aGUgaW5saW5lIHRleHQgbGlzdA0KCWVsc2Ugew0KCQlteSAkb3V0ID0g
Jyc7DQoJCSRvdXQgLj0gam9pbg0KCQkJKA0KCQkJCSJcdCIsDQoJCQkJbWFw
IHsgcy9cdC8gL2c7IHMvXG4vXHIvZzsgJF8gfQ0KCQkJCUAkXw0KCQkJKQ0K
CQkJLiAiXG4iDQoJCQlmb3IgQCRyZWY7DQoJCXJldHVybiAkb3V0Ow0KCX0N
Cn0NCkVPUg0K
--8323328-303594186-1010789826=:1391--