begin process at 2012 05 26 17:03:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Sybase

 > 

Requêtes

 > 

Index


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Index

lundi 11 octobre 2010 à 14:41:05 | Index

fdouieb

Bonjour

J'utilise ASE version 15
Je possède une table avec 100 millions de ligne

create table myTable(
col1_id int not null,
col2_id int not null,
col3_id int not null,
date datetime not null,
value varchar(64) not null)

create unique nonclustered index myIndex_pk on myTable ( col1_id ASC,col2_id ASC, col3_id ASC, date ASC)
create index date_i on myTable (date ASC)


insert into #hss_23 (col1_id, date_value, avg_value)
select col1_id, max(date), avg(convert(float, value))
from myTable
where col1_id in (select col1_id from #all_data)
and col2_id = 1
and col3_id = 23
and datepart(year, date) = @year
and convert(float, value) <> 0
group by col1_id

la table temporaire possède 1615 ligne

L'insert s'effectue en 2h30 c'est affreux. Est ce qu'il y a une possibilité de réduire considérablement ce temps

Merci








mardi 12 octobre 2010 à 11:44:40 | Re : Index

gogniol

Réponse acceptée !
Bonjour,

Juste une petite question : quand est ce que ton index a été créé ? avant ou aprés l'insertion des 100 millions de ligne ?

Peut être que les statistiques de l'index ne sont pas à jour.

Essaie de faire un
Code sql :
update index statistics myTable

Peut êre que cela va changer ton temp de réponse.

Tu peux tenter aussi de faire un JOIN plutot qu'un IN.

Ta requete devient :
Code sql :
insert into #hss_23 (col1_id, date_value, avg_value) 
select A.col1_id, max(date), avg(convert(float, value)) 
from myTable A 
inner join #all_data B on B.col1_id=A.col1_id
where col2_id = 1 
and col3_id = 23 
and datepart(year, date) = @year 
and convert(float, value) <> 0 
group by A.col1_id 

Mais la je ne suis vraiement pas sur que cela va changer quelque chose.

Cordialement


Cette discussion est classée dans : date, id, not, value, col1


Répondre à ce message

Sujets en rapport avec ce message

Optimiser requête [ par Tipo ] Bonjour, j'ai besoin de sélectionner dans une table de relevés, les enregistrements pour lesquels la date est la plus récente, et seulement si un abon Problème de création de Trigger [ par vincentstryckmans ] Bonjour, J'ai un script qui crée, entre autres, une table et un trigger : CREATE TABLE "COMPOSANT" ( "ID_COMPOSANT" INTEGER NOT NULL, "F_COMPOSANT Requete utilisant un IF (?) [ par Gamer_man ] Bonjour :)J'ai un petit probleme avec une requete...J'explique un peu :Sur mon site, il est possible de poster des commentaires en etant membre ou en Select sans doublon avec date la plus recente [ par ironnyc ] Bonjour a tous!je cherche a faire une requete Select avec une base MySql sur la table suivante: #Table "historique"+-----+-------------+------------+| requete sql complexe [ par nobull ] BonjourJ'ai une premiere tableCREATE TABLE `message` (  `id` smallint(6) NOT NULL auto_increment,  `nom` text NOT NULL,  `email` text NOT NULL,  `date requete qui fonctionne en local et pas en distant [ par gomoz ] Voici la coupable :<span class="syn Requête tri par date [ par coyote_fx ] Bonjour à tous,voilà je dois composer une requête dynamique de recherche sur une table de ma base de données (COMMANDES):Exemple de syntaxe de ma requ une requete qui me casse la tête [ par chmouette ] Salut les gens!Mon problème est purement SQL. J'ai une table Ma Table avec des champs tels que :+-------------------------+ !            MaTable  &nbs Faire plusieurs if dans un procedure stockee [ par chris81 ] bonjour,comment puis je faire pour verifier plusiseurs if dans la meme procedure stockee c'est a direif not exist(SELECT Id FROM...) et if not exists( Championnat [ par elpens ] Bonjour,Je voudrais effectuer une base de donnée pour une équipe, et je vous demande de l'aide pour la conception.Je pensais créer une table Saison(id


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales