www.mutationevent.com

Archive pour la catégorie ‘sql’

asSQL ou Actionscript to mySQL

Samedi 11 août 2007

créer des applications Flex c'est bien, mais le problème c'est qu'il faut faut un langage script coté server (.NET, PHP, CFM, ROR, ...) pour attaquer des bases de données, du coût on perd un peu de temps a développer des scripts pour exporter les données au format XML par exemple.

Heureusement il y a ce composant asSQL pour accéder directement a mysql depuis Flex.

j'espère trouvé un petit peu de temps pour faire des tutoriels

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

Top 10 SQL Performance Tips

Lundi 12 février 2007

Voici un article très intéressant de la part de MySQL faisant référence à quelques astuces pour rendre ces requêtes plus performantes.

Voici un petit aperçu :

  • Use EXPLAIN to profile the query execution plan
  • Use Slow Query Log (always have it on!)
  • Don't use DISTINCT when you have or could use GROUP BY
  • Insert performance
    1. Batch INSERT and REPLACE
    2. Use LOAD DATA instead of INSERT
  • LIMIT m,n may not be as fast as it sounds
  • Don't use ORDER BY RAND() if you have > ~2K records
  • Use SQL_NO_CACHE when you are SELECTing frequently updated data or large sets of data
  • avoid wildcards at the start of LIKE queries
  • avoid correlated subqueries and in select and where clause (try to avoid in)
  • no calculated comparisons -- isolate indexed columns
  • ORDER BY and LIMIT work best with equalities and covered indexes
  • separate text/blobs from metadata, don't put text/blobs in results if you don't need them

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

afficher les archives de votre blog

Vendredi 19 janvier 2007

Afficher les archives de votre blog sous cette forme

  • Janvier 2007 (10)
  • Décembre 2006 (35)
  • ...

Cela peut parfois sembler compliquer mais non, on peut le faire grâce à une seule requête

Supposons notre table "blog"

CREATE TABLE `blog` (
`id_blog` int(11) NOT NULL AUTO_INCREMENT,
`titre` varchar(150) NOT NULL DEFAULT '',
`texte` longtext NOT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id_blog`)
) TYPE=MyISAM ;

Pour afficher les archives :

SELECT DISTINCT YEAR( date ) AS year, MONTH( date ) AS
month , Count( id_blog ) AS posts, MONTHNAME(date) AS monthname
FROM blog
WHERE date < now( )
AND date != '0000-00-00 00:00:00'
GROUP BY YEAR( date ) , MONTH( date )
ORDER BY date DESC

Les champs que nous aurons sont : year,month,post,monthname

Reste plus qu'a les placer dans l'ordre : monthname year (post) avec le code php.

ET voici le code php

$query = "SELECT DISTINCT YEAR( date ) AS year, MONTH( date ) AS
month , Count( id_blog) AS posts, MONTHNAME(date) as monthname
FROM blog
WHERE date < now( )
AND date != '0000-00-00 00:00:00'
GROUP BY YEAR( date ) , MONTH( date )
ORDER BY date DESC "
$result = mysql_query($query,$connect);
$row = mysql_fetch_assoc($result);
 
do {
echo '<li><a href="/site/archives/'.$row['year'].'/'.$row['month'].'/">'.$row['monthname'].' '.$row['year'].' ('.$row['posts'].')</a></li>';
}while($row = mysql_fetch_assoc($result));

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

formater une date dans une requette mysql

Vendredi 3 novembre 2006

On a tous un jour eu besoin de convertir des dates d'un format à un autre (datetime to date ou du format anglais au format français ...)

La premier des choses à laquelle on pense souvent c'est de faire cette conversion avec une langage serveur (PHP,ASP,....) dans ce ça on doit faire des découpage de chaîne, utiliser les expressions régulières, etc. mais parfois il ne faut pas chercher plus loin pour trouver la solution.

MySQL contient une fonction (DATE_FORMAT) qui peut m'aider a résoudre se genre de problème.

Ex:

$requette = "SELECT DATE_FORMAT('2006-11-03 12:03:15','%y/%m/%d') as date FROM table";

Cela va nous afficher 06/11/03

Pour plus d'informations sur les différentes fonction de traitement de date dans une requête MySQL : http://www.mysql.com/doc/en/Date_and_time_functions.html

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

importer des données vers mysql

Mardi 7 mars 2006

importer des données au format txt(CSV) vers mysql.

Get the Flash Player to see this content.

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

Exporter une table MsAccess vers Mysql

Mardi 7 mars 2006

Exporter une table MsAccess avec convertion de la date vers Mysql

Get the Flash Player to see this content.

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

MySQL et le Full-text Searching

Jeudi 23 février 2006

l'article est sur ZEND
Using MySQL Full-text Searching

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

Tronquer un texte directement depuis votre requette (MySQL)

Samedi 31 décembre 2005
  1. SELECT a.id_art, a.title_art, LEFT(a.text_art,150) AS text_art, a.date_art FROM table_article a

cela va afficher automatiquement les 150 premier caractères  sinon si vous voulez toujours utilisé l'autre methode avec function :

  1.    function tronq($texte,$max_char,$end_char){  if (strlen($texte)>$max_char){  $texte = substr($texte, 0, $max_char);  $position_espace = strrpos($texte, " ");  $texte = substr($texte, 0, $position_espace);  $texte .= $end_char;  }  return $texte;  }

Technorati Tags: mysql, php

  • Twitter
  • Facebook
  • Digg
  • Delicious
  • Google Reader
  • LinkedIn
  • Technorati Favorites
  • Netvibes Share
  • NewsVine
  • Share/Bookmark

  • Archives

  • Catégories