Tracking Forums, Newsgroups, Maling Lists
Home Scripts Tutorials Tracker Forums
  Advanced Search
  HOME    TRACKER    MYSQL


SuperbHosting.net have generously sponsored dedicated servers to ensure a reliable and scalable dedicated hosting solution for BigResource.com.





JOIN Versus Subqueries


I'm always looking to expand my skills and knowledge, and as such I'm currently working on rewriting several of my old apps that make atrocious abuses of MySQL queries. I've pounded out several of them into single statements using subqueries, but on this forum I've noticed very little subquerying and a lot of JOINing.

So my question is, what are the benefits/costs of subqueries vs JOINs? When would you use one over the other, and why? If this is too general to answer here, could someone point me toward a tutorial or somesuch that could edumecate me?




View Complete Forum Thread with Replies

Related Forum Messages:
'JOIN' Versus 'WHERE AND' Speed Difference?
When bringing together multiple tables, is there any speed difference between using JOIN versus using WHERE AND?

View Replies !
MyISAM Versus Innodb
Now, each blog is stored in a separate row, in a table called blog_table.

This single table would be the most active one and would grow to large size in the coming years.

What is the most advisable engine for this table - Innodb or MyISAM ?

Also, I do need FULLTEXT search, and since Innodb doesn't support FULLTEXT indexes, are there 3rd party tools that could do the indexing.

View Replies !
InnoDB Versus MyISAM
I have a MySQL server (version 4.1.9-nt via TCP/IP) with a few databases. One of my databases is quite small. It only has three tables of less than 500 rows, and it is less than half of a kilobyte when backed up. All the tables in this database are InnoDB because that was the default in the MySQL Administrator.

Ninety percent of the data lies within one column inside one table. It is this column that I want users to be able to search and return results somewhat similar to the way a popular search engine would. My research has brought me to the idea of using FullTextSearch which apparently only works in a MyISAM database (correct me if I'm wrong). So I've thought about changing this one table in my database to MyISAM but I have no idea what that change means to me in terms of support, maintenance, or headaches. So my first question is, what are the differences between InnoDB and MyISAM? Are they hugely different or are there only minor subtleties.

Secondly, this brings up the question of backups and restores. Right now I have an InnoDB backup that is scheduled nightly. So my second question is how do I backup/restore a database that contains InnoDB and MyISAM tables? Or should I change all my tables to MyISAM? I really like how the InnoDB backup is a simple unencrypted flat-file. This keeps me sleeping soundly at night. Will the other backup methods be as simple?

View Replies !
Version 5 Versus 4.0.24 Compatability
Started as a 5.0 user and developed DB n 5.0 and a propossed Hosting Service said I should use the same version on their DB Server (4.0.24).

What anticipated problems could I experience if I upload tables from 5.0 and are their differences in the data files created in 5.0 ?

Guess the question is would 5.0 files and tables be backward compatible?

If I remove 5.0 and install older 4.0.24 do I have to redo the tables?

View Replies !
Utf8_general_ci Versus Utf8_unicode_ci Character Set.
utf8_general_ci Unicode (multilingual), case-insensitive

utf8_unicode_ci Unicode (multilingual), case-insensitive

(Above are character sets shown by phpMyAdmin.)

Can you please explain what is the difference between utf8_general_ci and
utf8_unicode_ci ? What are the effects of choosing one over the other when
designing a database ?

View Replies !
Performance Of VARCHAR Versus CHAR
Does anybody have experience with the performance of CHAR in
comparison with VARCHAR? I´ve converted the table from varchar
(dynamic format) to char (fixed row length) and the total size of the
data doubles (not counting the keys).

The database structure is as follows, the database has about 0.5 mio.
entries right now with many intensive queries. As I have heard, fixed
rows are faster.. but what about the influence of the total disc space
on performance? Code:

View Replies !
MyISAM Versus INNODB Database Recovery?
I'm currently using MyISAM as the database engine for my CUSTOMER Table because several of the fields are used to create a FULLTEXT index (and MyISAM is the only engine that supports FullText.)

I'm somewhat concerned though with using MyISAM as the production database engine for the CUSTOMER table because of the potential for loss of data due to a database crash and I can not lose any data. InnoDB seems that it has better recovery capabilities. This is my first MySQL production database, so I'm only going on what I read from the manual vs. actual experience.

I've thought about splitting the CUSTOMER Table so that the FullText columns are implemented in one table in the MyISAM engine, and the other columns containing critical customer information are implemented in the InnoDB engine.

I don't like this approach as well because now I need to keep the primary keys in synch + I will need to do joins on most queries. However, potential loss of data is the greatest risk I need to protect.

View Replies !
Efficiency Of One Big Database Versus Several Smaller Databases
I did a search and didn't find an exact answer to my question. It's a pretty noobish question which is why I'm putting it here. ;)

I'm writing an app that will likely have 50 to 100 tables. Is there any performance advantage to using, for example, 10 databases with 10 tables each instead of using one big database with 100 tables?

View Replies !
Multiple Tables Versus Mutiple Databases
In a setting of a web based application (typical LAMP installation) where multiple web users may be logging into the app and accessing data for one of numerous subgroups, each of which requires about 30 tables to run the application, which design will perform better:
A) a single database with a set of identically structured tables for each subgroup differentiated by table name or

B) a database for each subgroup, each with the same table scheme.

In either case the two tables any individual web user will most commonly be accessing for their group have ten's of thousands of records, the remaining 28 or so required tables being much smaller (less than 100 records) and having group specific variables and data to control the application. In all cases the web application interface uses the same php code with the group identifier declared at login which selects either the table subset or group specific db.

In case my question isn't clear scenario A would have a single database with a master table that controls the group numbers by an id, say 1 to 20 and then a set of 30 tables for each like (users_1, data_1, ...), (users_2, data_2, ...),...,(users_20, data_20,...). In this case the single database would have in excess of 600 tables.

Scenario B would have a master database with a table to store individual group id's and each group id would have a database with a name based on their id like db_1, db_2,...db_20. Within any db_* there would be identically structured tables user, data, ... . In this case there would be 20 databases each with only 30 tables plus the master control db.

View Replies !
Primary Key Field: Varchar(32) Versus Sequence
I got in the habit of coding primary key fields as varchar(32) that was generated by an md5() since it was a public site and I wanted to avoid people guessing record numbers (for other reasons).

Is there a performance problem with doing that?

If so, how do you tackle the same concern?

View Replies !
Fast SELECTs Versus Slow INSERTs With Indexes
I run a MySQL database using phpMyAdmin interfaced with an application written in C++, and most of my nine database tables have 500,000 - 2,000,000 records in them. These tables also have about five-to-six indexes each. This makes working with the C++ application extremely fast, which is nice. Any SELECT statements can be run in less than a second, and I'm very happy. The problem comes when I have to insert new records into the tables. Every morning, I am received a pipe-separated .txt file of the previous day's new records (about 500 - 1,000) that I have to insert into the tables using my C++ application. Well, this takes an excruciatingly long time (almost an hour, actually) and I need to find some way to make it run faster. I am thinking of several options here:

View Replies !
Fresh Installation Versus Copying /usr/local/mysql
I've recently taken over the management of a production mysql environment that was previously managed by Unix sysadmins. It currently runs mysql 4.0.18 on both Solaris and Linux machines. We've QA'd mysql 5.0.51a and are pushing to upgrade in production.

Under the previous management, the sysadmins would just tar up /usr/local/mysql and copy it to another machine when they built a new mysql server. Is this a valid way to perform an upgrade or an installation? I mean installing mysql 5.0.51a on one server and just copying the base directory to other servers. My mind and my gut say it would be better to do a fresh installation on each server, but I anticipate some resistance from the sysadmins who still maintain a lot of control over the servers.

If copying /usr/local/mysql to another machine is valid.

View Replies !
Subqueries On 4.0.25 Without Subqueries
i have 2 tables. knowing subqueries cant be performed on this version how would i write the following statement?

i have 2 tables
table.a, table.b

I want to select all records from table.a that match table.a.id = table.b.id WHERE table.b.varchar = 'value'

once the table.b.varchar is found, get table.b.id and match it to any records in table.a.id that match it.

Can this be done in 1 statement. I'd hate to have to run a loop here. I've tried without success JOIN statements.

here is one of my attempts:
"SELECT table.a.* FROM table.a, table.b WHERE table.a.id = table.b.id AND table.b.varchar = '$value' GROUP BY table.a.sortkey ORDER BY table.a.is_primary DESC ";

this does return 1 row, and joins the 2 tables accordingly, however i need all rows in table.a that match the table.b.id where table.b.varchar = 'value'

View Replies !
Use Of Subqueries With IN
I'm trying to do the following query:

select * from table1 where col1 in (select col1 from table2);

I keep getting a message to check my query after "in". But I've cut and pasted that query and it works. This is a very simple query so I don't understand why it doesn't work.

View Replies !
Subqueries With ALL
I got following statement:

SELECT * FROM ip WHERE id <> ALL (SELECT ipid FROM pcip);

Like I can see in the documentation, this should be correct, but SQL drops a SyntaxError near "ALL (SELECT ipid FROM pcip)"

What it dows should be ovious, select all IPs that IDs are not noticed in the PCIP table under IPID

The Tables are set up correct, means both tables exist and got values for the mentioned collums

My MySQL version is 4.0.21 if that is part of the problem...

View Replies !
Subqueries For V3.23
An upgrade is definately coming, as some some SQL practice, but I'm trying to figure out how to do a subquery and not entirely certain where to turn to.

From my limited understanding of SQL, what I want to do should look like:

SELECT
(SELECT count(SurveyData.Choice) WHERE SurveyData.Choice='0') as a,
(SELECT count(SurveyData.Choice) WHERE SurveyData.Choice='1') as b,
(SELECT count(SurveyData.Choice) WHERE SurveyData.Choice='2') as c
FROM SurveyData

The SurveyData table contains 3 fields: SID (Int), Name (Varchar 100), Choice (Int)

I'd like to use it as the basis for a reusable/scalable web survey app (perl CGI), but all I'm getting is a syntax error.

View Replies !
Subqueries With NOT IN And &lt;&gt; ALL
I am having troubles with the following on 4.0.22:
select *
from question as q
where q.id NOT IN (select distinct question from choice );

choice.question ---> question.id

Apparently there's a syntax error, at (select distinct ....)
<> ALL yields the same result.

View Replies !
Possible Without Subqueries
I'm trying to merge the result of 2 queries but I can't use subqueries.

The first query gets all the sign-ups from a particular referer, the second query gets how many of those sign-ups are still active.
So the first query does a count, group by ref and the second one does count where active group by ref - I know I could do this easily with subqueries but without them I'm lost.

View Replies !
Subqueries?
I'm using MySQL Control Center 0.9.2-beta. Will this take subqueries? I'm trying to extract data from tables in two different databases, and I'm not all familiar with JOINS. What is the syntax to do this in a subquery? In a JOIN?

View Replies !
Max() & Subqueries
Cant seem to get what i want Missing something so fundamental. Did it with subqueries on server at home just cant seem to get my head round it without using subqueries

I have 3 tables ....

View Replies !
UNIONS In Subqueries
I have a problem using UNIONs inside subqueries. I have simplified my query to make it more readable. The question is about the right syntax.....

View Replies !
How To Rewrite This Without Subqueries?
i have a table that contains the fields order_id, canceled, and
captured. the same order_id can appear many times in the table. i
want to retrieve all the order_ids for which NO record exists that has
both canceled and captured = N.

i am not able to upgrade my version of mysql at the moment, so i would
like to write a query that does that with no subqueries.

View Replies !
SQL, Count And Subqueries
I have one table that lists a number of courses available (including
CourseID, CourseName and MaxPositions), with CourseID being auto_increment and unique

I have another table which has CourseRegistration (Containing CourseID and
CustomerID), with no unique fields. Customer information is stored
elswhere.

Without having a field in the Courses table holding the number of people
currently registered, how would I return a result set which included:

CourseID, CourseName, MaxPositions and the Number of people registered to
take that course.

Preferably this would not use features in MySQL 4.1, but anything is fair
game at this point.

View Replies !
Theory Of Subqueries For 4.1.7
While converting SQL statements for a database change, I discovered a
big performance hit in MYSQL with subqueries vices Sybase. I'm hoping
that someone might be able to help me understand why?

I have two tables USERS (2200 records) and JOB Decriptions (163
records). I wanted to retrieve all the job description not in the
USER table. (No Indexes on JOBDESC currently)

select JOBDESC from JOBS where JOBDESC not in ( select JOBDESC from
USERS where JOBDESC not NULL )

In Sybase the query returns in about .56 secs
In Mysql 4.1.7 query returns in about 8.78 secs

The funny thing is if I run the query like so

select JOBDESC from JOBS where JOBDESC not in ('President','Vice
President','Treasaur','Secretary')
returns in .03 secs.

Those four descriptions are returned by the inner select.

All select statements individually return in .03 secs.
I created indexes on both tables for JOBDESC and reduced the time to
..97 secs. I used explain command to help understand what is going on
hence the indexes, but why the difference in speed?

View Replies !
Removing Subqueries
the query i want execute is:

select email from avalia where email in (select * from avalia where nome=´img/im1.jpg´) and email in (select * from avalia where nome=´img/im2.jpg´)

but mysql 4.0 don't acept subqueries.

View Replies !
Optimization :: Subqueries
i have a little complex query that involves sub queries upto three levels. now thing is that , i think, mysql evaluates the sub queries every time that query is evaluated, whereas, i know that results for the third and 4th level queries are same for some number of queries. can we force mysql to store the result of the subqueries to be used later, instead of reexecuting the query.i studied mysql query optimization but, finally concluded is that things over there are just how mysql optimizes queries, not how can we optimize the query to be performed better. any resources for query optimization, i mean good resources ?

View Replies !
Subqueries And The IN Operator
hey all,

i am having serious problems with getting my head around why this will not work. i am trying to return a number of games played with a count of the number of people in it. the table structures are as follows:

games

gameref | gamepot | gamedate | gamelength |

..1...... | .... 50.... | 12.12.04 | ... 03.00.00 |

winnings

gref | pref | amountwon | stake |
1 . .| 1 .. | ....20 ...... | 10...|

i have used the dots to try and keep the table in some sort of form. i have only entered one row of data for each just to show the format of it, if this is not enough please ask for more.

the games table holds each game that has been played, the total pot available to be won the date played and the duration of the game.

the winnings table is teh winnings of each player in each game. the gref is the game it refers to, the pref is teh player it refers to, (there is a player table but is not used in this query at all). the amount that player won and the stake they entered into the pot.

if ya didnt gues its a poker database. my problem is as follows.

Quote: $sql = ("SELECT games.*, COUNT(winnings.gref) as playercount, winnings.gref
FROM games, winnings
WHERE gameref = gref
group by gameref
order by gamedate");

this query works a treat. it counts the amount of players in each game and outputs it all nicely.. but i wanted to edit the query to be able to show just all the games a single player had been in.

Quote: $sql = ("select games.*, COUNT(winnings.gref) as playercount, winnings.gref
from games, winnings
where gameref in (select gref from winnings where pref ='$pid')
group by gameref
order by gamedate");

$pid is passed into the page by

Quote: pt_register('POST','pid');

but this throws an error

Quote: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/ghoxmfjz/public_html/database/poker/allgames.php on line 32
Query failed!

line 32 is:

Quote: $nrows = mysql_num_rows($result);

i can get it to work if i substitute the subquery for (1,2,3) being the first 3 games played. this would assume a certain player would have been in these 3 games.

the problem i get is that the COUNT function just counts every player in everygame not the individuals. if i group it by gref it counts them (sort of.. it doubles the count) but then does not return any of the other information for the query.

i am very confused any and all suggestions of things to look at or consider or a straight ur doing XXX wrong would be grand.. thx all

Jon

oh btw if you wish to look at the output if that helps the URL is:

http://www.happygolucky.me.uk/database/poker/allgames.php

with the variable $pid as the reference to try the player.

View Replies !
Subqueries Clarification
im using MySQL 4.1 the one the comes with XAMPP installer.. I have a question regarding correlated subqueries..in this version of
MySQL, are correlated subqueries supported?

as in like..

$query1= select field from table where field = 1;
$query2= select field from table4 where field= 4;

Insert into tmpTable ($query1,$query2)

View Replies !
SubQueries Prior
Does anybody know how to rewrite the following query to run on mysql 4.0.20.
Is it possible to do this with JOINS? (I don't really have to join 2 tables...
SELECT *
FROM OAK_photos
WHERE cat_id = (SELECT cat_id FROM OAK_photos WHERE id=$id)
AND order_nr >= (SELECT order_nr FROM OAK_photos WHERE id=$id)
ORDER BY order_nr ASC
LIMIT 0 , 5

or should I run the 2 subqueries first as seperate queries and pass on the outcome via variables to the third query, the above main query?

View Replies !
Using CONCAT In Subqueries
SELECT tblmonths.fldMonth, tblyears.fldYear, tblmonths.fldID, CONCAT(tblmonths.fldID," ", tblyears.fldYear)
FROM tblmonths, tblyears
where CONCAT(tblmonths.fldID," ", tblyears.fldYear)
NOT EXISTS
(SELECT CONCAT(fldMonth, " ", fldYear)
from tblexpensesclaims)
GROUP BY tblyears.fldYear, tblmonths.fldID

View Replies !
Subqueries In The FROM Clause
I'm using 1&1 web hosting services with MySQL as database (Ver 14.12 Distrib 5.0.16, for pc-linux-gnu (i686) using readline 5.0).

When I ran an example in Chapter 13.2.8.8 from MySQL 5.0 Reference Manual:

CREATE TABLE t1 (s1 INT, s2 CHAR(5), s3 FLOAT);
INSERT INTO t1 VALUES (1,'1',1.0);
INSERT INTO t1 VALUES (2,'2',2.0);
SELECT sb1,sb2,sb3
FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb
WHERE sb1 > 1;

I always get the following error message:

ERROR 1064 (00000): You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb

View Replies !
Problem With Subqueries
I am trying to find the rows in table1 that do not have matching rows in table2 in order to set the value of a field in table1. I can get a query to return the rows that do have matches with this query:

select item1 from table1 where item1 in (select item2 from table2);

However, the following queries return no data:

select item1 from table1 where not(item1 in (select item2 from table2));
select item1 from table 1 where item1 <> all(select item2 from table2);

My understanding of the first query is that the not operation would be applied after evaluating whether item was in the result of the subquery. With the second query, I thought it should return true if item is not equal to every result in the subquery. If I try to use a left join and then simply find the rows that have a null value coming from table2, I get the correct resultset but I can't use that as a subquery for my update statement. Since table1 is what is being updated MySQL tells me that table1 cannot be used in the subquery for the update statement. I have this working in a stored procedure by importing the result of the join into a temporary table, but I'd rather not have to write all that data and then delete it.

View Replies !
Can I Do Subqueries With MySQL?
I wanted to know how can I do subqueries with MySQL?

View Replies !
Slow Subqueries
I know (by internet) that mySQL is very fast. Problem is that my subqueries that are very fast in Access or SQL Server but they are very slowly in mySQL - since I have to restart my computer because mySQL freeze all the processes. (the resources where used at maximum - 2 Gb RAM, 2,5 Ghz processor)

This is the query :
SELECT NPL, PP FROM P_A INNER JOIN ACTIONS
ON P_A.NA =ACTIONS.ACT_N WHERE P_A.NA in
(SELECT NA FROM P_A WHERE NP ='ABC')

P_A has 5 columns and 12000 rows
Actions has 5 columns and 770 rows

Any suggestions ?

View Replies !
Column Subqueries
to the best of my knowledge, a column subquery is a single column resultset with many rows, i'm assuming joined by some previous column / row value.

can anyone show me a column subquery, manybe even a multiple column subquery, with a very small discussion on what they did and what it would return?

I'm looking to return a query like username, company name, company location, application, application role, application persission where I do not get the "normal" repetitive SQL resultset.

note: column subqueries may not be my direct answer but I still wanted to see what column subqueries was all about.

View Replies !
Subqueries In MySQL 4.0?
I've got the following query. I just found out that subqueries are not supported by MySQL 4.0...

How would I replicate this to work with MySQL 4.0?

SELECT DISTINCT CategoryID, tblCategory.Category FROM tblCategory INNER JOIN
(SELECT Cat FROM ( SELECT tblCategory.Category AS Cat FROM tblEntries)
UNION SELECT Cat FROM ( SELECT Category2 AS Cat FROM tblEntries) UNION
SELECT Cat FROM ( SELECT Category3 AS Cat FROM tblEntries)) As A ON
tblCategory.CategoryID = A.Cat;

Table tblCategory
CategoryID = index key
Category = Text entry describing the Category

Table tblEntries
Category = key link to tblCategory
Category2 = key link to tblCategory
Category3 = key link to tblCategory

Basically, I want a list of Categories that are used in tblEntries.

View Replies !
Subqueries And Limit
I am a beginner with MySQL and I have this very large table where queries take a long time to complete. I was trying to limit the amount of time by limiting the scope of the query to only a few rows, by using LIMIT. To that effect a construct like:

SELECT * FROM table LIMIT 100;

seems to work perfectly, because it returns the 1st 100 rows from the table.

The problem is, I cannot use this in a subquery. In other words, if I try something like:

SELECT * FROM (SELECT * FROM table LIMIT 100) as temp;

I'm getting an error. I read the documentation about subqueries in the FROM clause, but I cannot figure out what's qrong with the syntax.

View Replies !
Subqueries To Mysql 3.x.x
I know that mysql 3.x.x does not support subqueries so i need your help with a query..

I need to make possible to search concurrently both fields. The user can insert only part of the word that is searching so i used the like '% keyword %'. in musql queries

Now my tables are
Table Titles:
Title (mediumtext)
AuID (integer)

Table Authors:
Author (mediumtext)
Au_ID (integer)

If i had support for subqueries then i would have done it easily

select Title from Titles where Title LIKE '%user title entry%' and AuID= (select AuID from Authors where Author LIKE '%User author entry%')

Now i don't have support for subqueries i need help for writing this query.

View Replies !
Queries And Subqueries
SELECT COUNT(t.id) AS tuttotal, (SELECT COUNT(t.id) FROM tutorials AS t WHERE t.status = 1) AS pendtotal, (SELECT COUNT(r.id) FROM reports AS r) AS reptotal FROM tutorials AS t
If I input that SQL into mysql it returns exactly what I'm after. And on my development server it works as expected.

However on my production server I am getting an error when I try it in PHP;

You have an error in your SQL syntax near 'SELECT COUNT(t.id) FROM tutorials AS t WHERE t.status = 1) AS pendtotal, (SELECT' at line 1

I think it might be that my server is running an earlier version of MySQL, 3.23.28 I believe.

View Replies !
SELECT .. WHERE .. Subqueries ?? Is It Possible?
I have a page which will send over three possible query's to the other page, but the page receiving the query's will only ever execute one..

gal/event/date
gal/venue/date
gal/event/venue/date

I need the page receiving this data to be able to handle what ever gets passed over..

I currently have:

SELECT photo_id, DATE_FORMAT(date, '%d%m%y') AS subdir, views, caption FROM photos WHERE venue_id='$venue_id' AND date='$date'"
which deals with 'gal/venue/date' from above, but how can I structure the SELECT and WHERE so I can have them all covered but in the one SELECT statement?

View Replies !
Subqueries And LIMITs...
I want to display a subset of data from another query...

Basically I've got 3 tables which are all joined together in a query...

Lets say I have 300 results rows displayed from that query. Is there a way I can then limit those results without effecting the original query (I still need to be able to pull all the results as well)

I've tried (and it didn't work)...

Quote:

SELECT * FROM products, manufacturers, brands
WHERE

(SELECT stock_code FROM products, manufacturers, brands

WHERE

(manufacturers.manufacturer_id = brands.house_id) AND
(products.brand_id = brands.brand_id)

ORDER BY

manufacturers.manufacturer_name,
brands.brand_name,
products.stock_code)

LIMIT 0 , 10

View Replies !
Complex Queries Versus Multiple Simple Queries
I am constructing a database to contain information about stories posted on my site. Information included will be things like title, author(s), genre(s), story codes, synopsis, etc.

I worked out that storing this information properly, so that it can all be searched on, could take as many as ten tables.

My question is this: Is a single complex query really better (more efficient for the server) than multiple simple queries? In other words, I may need the information for as many as 25 or even 50 stories for a single page.

Is it better to get all of the information out of a single, massive, complex query, or is it acceptable to get the information essentially one story at a time, which could mean 25 or 50 simple queries...?

View Replies !
Check Table And Repair Versus Optimize Table
I am confused about the difference between running a CHECK table and REPAIR(if necessary) versus running an OPTIMIZE table. It's not very clear in the documentation, but seems that OPTIMIZE table does a check and repair in addition to the other functions performed by optimize.

I have inherited some legacy code that does a check and repair and optionally follows it with an optimize. That seems redundant to me and I would like to streamline the code to make it an "either-or" selection.

View Replies !
Size Of Indexes Versus Data File Size
I am adding indexes to a table with about 200,000 records. Every field indexed adds about 2MB to the index file (*.MYI).

The index file is around 8MB and the data file is around 10MB.

Is there some optimum ratio I need to know about?

(I have examined the queries and am indexing field used in WHERE, ORDER BY and GROUP BY clauses.)

View Replies !
Does MySQL (4.0.20-standard) Allow Subqueries
Im moving a development app (MySQL 5.0) to a different server which
runs MySQL 4.0.20-standard. I am getting errors on queries that have
subqueries such as...

SELECT id
FROM table1
WHERE id IN (
SELECT id FROM table1
)

Seems like such a simple query but it wont run? Anybody know the
answer and what other limitations im going to experience going from
version 5.0 down to 4.0.20-standard.

View Replies !
Does MySQL (4.0.20-standard) Allow Subqueries???
Im moving a development app (MySQL 5.0) to a different server which runs MySQL 4.0.20-standard. I am getting errors on queries that have subqueries such as...

SELECT id
FROM table1
WHERE id IN (
SELECT id FROM table1
)

Seems like such a simple query but it wont run? Anybody know the answer and what other limitations im going to experience going from version 5.0 down to 4.0.20-standard.

View Replies !
Having Trouble With Subqueries With Mysql 4.0.21
i'm trying to make this command run:

select MAID from spez_MA where MAID = any(select MAID from spez_P_MA where P_ID = 1)

on a mysql server 4.0.21. and i get an error

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( select MAID from spez_P_MA where P_ID = 1 )
LIMIT 0, 30' at

the command works using the same database in another mashine running mysql 4.1.22.

where can i find the documentation of the correct syntax for 4.0.21? my sintax is according with http://dev.mysql.com/doc/refman/4.1/en/any-in-some-subqueries.html, but this is for 4.1, not for 4.0. this manual should be for versions 3.23 and 4.0 too.

View Replies !
Subqueries And DISTINCT From MySQL 5 To 4
Ugh... been working on a project for some time now and I'm just plain stuck and the SQL is getting over my head. I would LOVE any help you can give me. The following query works beautifully fast on my in house machine (mySQL 5) but when I brought it over to the live server (mySQL 4.1) the query takes about 30 seconds to compile... I realize I am not a SQL rock god...

SELECT DISTINCT p.pailid AS PID, p . * , (

SELECT COUNT( * ) AS c
FROM feed
WHERE pailid = PID
AND display =1
) AS numFeeds, (

SELECT COUNT( * ) AS c
FROM comments
WHERE pailid = PID
) AS numComments, c.title AS cattitle, (

SELECT COUNT( * ) AS q
FROM flags
WHERE pailid = PID
AND userid =1
) AS isFlagged
FROM pail p, feed f, category c
WHERE p.pailid = f.pailid
AND f.display =1
AND p.categoryid = c.categoryid
ORDER BY p.date DESC
LIMIT 0 , 50
Should I convert this to JOINS? If so, could someone give me a hand as I am LOST when it comes to JOINS.

View Replies !

Copyright © 2005-08 www.BigResource.com, All rights reserved