Imam sledece dvije tabele u bazi
u tabeli roba postoji 700 stavki a u tabeli promjena 1500 stavki
posto mi je trabalo da bih ubrzao upit koriscenje podupita instalirao sam
MySQL 4.1 koji to podrzava, e sad:
posto sam kreirao indexe na idRobe u obje tabele u robi kao UNIQUE a u promjenama NORMAL i izvrsim sledeci upit
Puca server tako da se vise ne moze podici bez da se rucno obrisu fajlovi tj. baze sa diska.
Ima li resenje za ovo ili .....???
Edit StRiPy: Dodao sam samo code tag radi bolje preglednosti.
Code:
create table promjena (
idPromjene int(11) not null auto_increment,
idRobe int(11) not null default '0',
idKupca int(11) ,
Datum date,
Naziv varchar(50),
idDilera int(11),
delovodni_broj int(11) not null default '0',
PromjenaUlaz double(16,2),
PromjenaIzlaz double(16,2),
CijenaDobavljaca double(16,3),
ZavisniTroskovi double(16,2),
CijenaProdaje double(16,3),
Porez double(16,2),
Rabat double(16,2),
Ambalaza int(11),
primary key (idPromjene))
type=MyISAM;
create table roba (
idRobe int(11) not null auto_increment,
Sifra_robe bigint(11),
Naziv varchar(50),
Autor varchar(50),
Jed_Mjere varchar(50),
Poreska_Sifra double(16,2) default '0.00',
Tip_Ambalaze int(11) not null default '0',
primary key (idRobe))
type=MyISAM;
create table promjena (
idPromjene int(11) not null auto_increment,
idRobe int(11) not null default '0',
idKupca int(11) ,
Datum date,
Naziv varchar(50),
idDilera int(11),
delovodni_broj int(11) not null default '0',
PromjenaUlaz double(16,2),
PromjenaIzlaz double(16,2),
CijenaDobavljaca double(16,3),
ZavisniTroskovi double(16,2),
CijenaProdaje double(16,3),
Porez double(16,2),
Rabat double(16,2),
Ambalaza int(11),
primary key (idPromjene))
type=MyISAM;
create table roba (
idRobe int(11) not null auto_increment,
Sifra_robe bigint(11),
Naziv varchar(50),
Autor varchar(50),
Jed_Mjere varchar(50),
Poreska_Sifra double(16,2) default '0.00',
Tip_Ambalaze int(11) not null default '0',
primary key (idRobe))
type=MyISAM;
u tabeli roba postoji 700 stavki a u tabeli promjena 1500 stavki
posto mi je trabalo da bih ubrzao upit koriscenje podupita instalirao sam
MySQL 4.1 koji to podrzava, e sad:
posto sam kreirao indexe na idRobe u obje tabele u robi kao UNIQUE a u promjenama NORMAL i izvrsim sledeci upit
Code:
SELECT idrobe,naziv,sifra_robe,Autor,Jed_Mjere,Poreska_Sifra,Tip_Ambalaze,
(SELECT CijenaProdaje FROM promjena WHERE roba.idRobe=promjena.idRobe and cijenaprodaje<>0 ORDER BY datum desc,idpromjene desc limit 1) as cijenaprodaje,
(SELECT CijenaDobavljaca FROM promjena WHERE roba.idRobe=promjena.IdRobe and cijenadobavljaca<>0 ORDER BY datum desc,idpromjene desc LIMIT 1) as cijenadobavljaca,
(SELECT COALESCE(sum(promjenaulaz),0)-COALESCE(sum(promjenaizlaz),0) as Zalihe1 FROM promjena WHERE roba.idRobe=promjena.idRobe) as zalihe
From roba
order by sifra_robe
SELECT idrobe,naziv,sifra_robe,Autor,Jed_Mjere,Poreska_Sifra,Tip_Ambalaze,
(SELECT CijenaProdaje FROM promjena WHERE roba.idRobe=promjena.idRobe and cijenaprodaje<>0 ORDER BY datum desc,idpromjene desc limit 1) as cijenaprodaje,
(SELECT CijenaDobavljaca FROM promjena WHERE roba.idRobe=promjena.IdRobe and cijenadobavljaca<>0 ORDER BY datum desc,idpromjene desc LIMIT 1) as cijenadobavljaca,
(SELECT COALESCE(sum(promjenaulaz),0)-COALESCE(sum(promjenaizlaz),0) as Zalihe1 FROM promjena WHERE roba.idRobe=promjena.idRobe) as zalihe
From roba
order by sifra_robe
Puca server tako da se vise ne moze podici bez da se rucno obrisu fajlovi tj. baze sa diska.
Ima li resenje za ovo ili .....???
Edit StRiPy: Dodao sam samo code tag radi bolje preglednosti.