-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Matthew Scarrow wrote:
| Try adding a primary key to the table.
|
| alter table webpage add autoid INT UNSIGNED NOT NULL PRIMARY KEY
| AUTO_INCREMENT
|
| This will help the database functions search through the table quicker.

Probably not. If the primary key is not used anywhere else, then it
won't. Besides, this table already has a primary key.

| I think another area where the query is getting slowed down is in the
| translation of the Java. Java is a translated language meaning it gets
| compiled when it is run unlike other languages like c++ so you will
see more
| delay when dealing with java as the interface between you and the
database.

Sorry, wrong.

Now-a-days, Java is not interpreted, and in fact in most web-based
applications it keeps equal if not better footing than native code. With
web-based applications, you're waiting on I/O most of the time, so
native code doesn't go any faster than Java code.

The JDBC driver for MySQL is just about as fast as the C-library in
most cases (honest).

Correctly indexing and tuning queries can give anywhere from a 0%-400%
or more speedup, you get 0 if it's already optimized or can't be optimized,
and the larger number if you've made conceptual mistakes in your schema,
indexing, or query writing.

In real-world webapps, Java and native code are less than 10% apart in
performance, the middleman does not matter here, unless you've used it
incorrectly.

| Maybe running the query in the mysqlclient program and see what the
response
| time is compared to jsp. If you see a big difference in response then
it has
| something to do with the middle man.
|
| I can't think of anything else that will help you.

Issuing an "explain SELECT .....", will help us help you, as well as
giving the _full_schema_ (you've left out the 'word' table that you're
joining to).

My guess is because of the compound-index on webpage, or lack of indexes
on the 'word' table, no indexes are being used to compute the join,
which will of course take a long time, as MySQL will look at _every_
row in the cartesian product to compute the result.

        -Mark
- --
For technical support contracts, visit https://order.mysql.com/?ref=mmma

~    __  ___     ___ ____  __
~   /  |/  /_ __/ __/ __ \/ /  Mark Matthews <[EMAIL PROTECTED]>
~  / /|_/ / // /\ \/ /_/ / /__ MySQL AB, Full-Time Developer - JDBC/Java
~ /_/  /_/\_, /___/\___\_\___/ Flossmoor (Chicago), IL USA
~        <___/ www.mysql.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6-2 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE9NDqGtvXNTca6JD8RAqcnAJsHc8yuViYS5JAbDPFGc7XGsvLM+gCgou/b
A/rGt5o0TVWoIylpJw4TNH8=
=7DxQ
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to