Posts Tagged ‘type’

Understanding MySQL Table Types

Tuesday, September 30th, 2008

MySQL supports various of table types or storage engines to allow you to optimize your database. The table types are available in MySQL are:

* ISAM
* MyISAM
* InnoDB
* BerkeleyDB (BDB)
* MERGE
* HEAP

The most important feature to make all the table types above distinction is transaction-safe or not. Only InnoDB and BDB tables are transaction safe and only MyISAM tables support full-text indexing and searching feature. MyISAM is also the default table type when you create table without declaring which storage engine to use. Here are some major features of each table types:
ISAM

ISAM had been deprecated and removed from version 5.x. All of it functionality entire replace by MyISAM. ISAM table has a hard size 4GB and is not portable.
MyISAM

MyISAM table type is default when you create table. MyISAM table work very fast but not transaction-safe. The size of MyISAM table depends on the operating system and the data file are portable from system to system. With MyISAM table type, you can have 64 keys per table and maximum key length of 1024 bytes.
InnoDB

Different from MyISAM table type, InnoDB table are transaction safe and supports row-level locking. Foreign keys are supported in InnoDB tables. The data file of InnoDB table can be stored in more than one file so the size of table depends on the disk space. Like the MyISAM table type, data file of InnoDB is portable from system to system. The disadvantage of InnoDB in comparison with MyISAM is it take more disk space.
BDB

BDB is similar to InnoDB in transaction safe. It supports page level locking but data file are not portable.
MERGE

Merge table type is added to treat multiple MyISAM tables as a single table so it remove the size limitation from MyISAM tables.
HEAP

MYSQL:Use the explain command

Thursday, July 24th, 2008

Use multiple-row INSERT statements to store many rows with one SQL statement.

The explain command can tell you which indexes are used with the specified query and many other pieces of useful information that can help you choose a better index or query.

Example of usage: explain select * from table

explanation of row output:

* table—The name of the table.
* type—The join type, of which there are several.
* possible_keys—This column indicates which indexes MySQL could use to find the rows in this table. If the result is NULL, no indexes would help with this query. You should then take a look at your table structure and see whether there are any indexes that you could create that would increase the performance of this query.
* key—The key actually used in this query, or NULL if no index was used.
* key_len—The length of the key used, if any.
* ref—Any columns used with the key to retrieve a result.
* rows—The number of rows MySQL must examine to execute the query.
* extra—Additional information regarding how MySQL will execute the query. There are several options, such as Using index (an index was used) and Where (a WHERE clause was used).

Google:Phrase Searches

Monday, July 14th, 2008

Search for complete phrases by enclosing your search terms in quotation
marks “”. This will refine your search to hits where your search terms are
included together. This type of search is especially useful for finding famous
sayings or proper names.

PHP:Detect MySQL server version with simple php script on your web hosting

Monday, June 30th, 2008

<form>
<p>
This program lets to find out what mysql version your current hosting is running on.
You need to enter correct databaes parameters in order to get desired info.
</p>
<b>db host: <b/>
<input type=”text” name=”db_host” value=”localhost”>
<hr size=1 width=”25%” align=left>
<b>db username: <b/>
<input type=”text” name=”db_user” value=”">
<hr size=1 width=”25%” align=left>
<b>db password: <b/>
<input type=”text” name=”db_pass” value=”">
<hr size=1 width=”25%” align=left>
<hr size=1 width=”25%” align=left>
<input type=”submit” name=”submit” value=”submit”>
</form>
<?php
/*
1) enter db user/pass: host = localhost
2) view results
scenario:
1) show form
2) try to login
3) if OK -> show version
4) otherwise tell incorrect db user/pass combination
Freeware for comercial or non-commercial use.
no warranties!
*/
$submit = empty($_REQUEST['submit']) ? 0:1;
if ($submit) {
$db_host = empty($_REQUEST['db_host']) ? “localhost” : $_REQUEST['db_host'];
$db_user = empty($_REQUEST['db_user']) ? “” : $_REQUEST['db_user'];
$db_pass = empty($_REQUEST['db_pass']) ? “” : $_REQUEST['db_pass'];;
if (         empty($db_host)
|| empty($db_host)
|| empty($db_host) ) {
die(”<font color=’red’>Missing fields.</font>”);
}
$link = @mysql_connect($db_host, $db_user, $db_pass);
if (!$link)
die(”<font color=’red’>Can’t connect.
Please check your data.</font>”);
$qry = “SELECT VERSION()”;
$result = @mysql_query($qry);
if (!$result) {
die(”<font color=’red’>Query error: ” . mysql_error() . “</font>”);
}
$ver = @mysql_result($result, 0);
print “<font color=’green’>MySQL version: <b>$ver</b></font>”;
@mysql_free_result($result);
}
?>

Fastest type of loop

Saturday, June 28th, 2008

In PHP, there are a number of loops available for you to use. There are while loops, do-while loops, and for loops. To see which one of these were fastest, I used each of them to perform 100,000,000 iterations. These are the loops which I used:

while(++$a<100000000){}

for(;++$a<100000000;){}

do{}while(++$a<100000000)

Here are my results:

while(++$a<100000000){}: 15.519 seconds
for(;++$a<100000000;){}: 17.577 seconds
do{}while(++$a<100000000): 13.744 seconds

As you can see, my results show that a do-while loop is 21.81% faster, compared to a for loop.

Trick To Create Table In Word

Wednesday, June 18th, 2008

To create a table in Ms Word you can use this shortcut !

>> Just type : +======+=====+====+===+==+=+

>> And simply hit ‘Enter’ !

>> You will see that the text changes to a table. Here, the number ‘=’ represent the number of characters in each cell !

>> Just it makes your work easy and fast !