![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele do ktorej musze wgrac paredziesiat tysiecy produktow, problem w tym ze musze to zobic w jak najkrotszym czasie zeby wystarczyly czasu wykonywania skryptu na inne rzeczy. Dziele sobie wiec dane w partie po tysiac i wgrywam partiami. Problem w tym ze to i tak za wolno, tabele zrobilem w MyISAM, pobowalem wgrywac przez csv, ale napotkalem problemy, wgrywala sie tylko czesc bazy a nie wyskakuja tam (przez pdo) zadne bledy.
Pytanie wiec jak najszybciej wykonac inserty, co moge jeszcze zrobic ? Kazda rada bardzo mi sie przyda, siedze z tym od wczoraj rano ... -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mozesz pokazac kod ktory realizuje to dzielenie na partie i potem wgrywanie tych partii?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pewnie:
w skrocie wrzuca wszystkie produkty do tablicy, dzieli po 1000 i te podzielone paczki wrzuca do bazy Ten post edytował Agape 17.06.2016, 10:15:30 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co sie kryje pod $this->query? PDO? mysqli? mysql?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 40 Dołączył: 2.06.2016 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Import będzie jednorazowy, czy tworzysz skrypt, który będzie cyklicznie się wykonywał?
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
@nospor PDO:
Kod public function query($sql) { if(!$this->db) $this->polacz_z_baza (); $this->ilosc_zapytan += 1; return $this->db->query($sql); } Kod $this->db = new PDO('mysql:host='.$this->db_config['host'].';dbname='.$this->db_config['db_name'].';encoding=utf8', $this->db_config['username'], $this->db_config['password']); $this->db->exec("SET CHARACTER SET utf8"); $this->db->exec("SET NAMES utf8"); $this->db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); @emstawicki srednio co pare 2 - 3 dni, teraz wykonuje sie jakies 25 sekund, musze zejsc jak najnizej bo caly skrypt sie wywala przez max czas wykonywania skryptu ktorego nie moge zawiekszyc bo to na wielu serwerach jest :/ Ten post edytował Agape 17.06.2016, 10:40:48 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ok, skoro to PDO to moze sprobuj z prepare
http://php.net/manual/en/pdo.prepare.php ktore przygotowuje zapytanie raz a ty tylko potem przy pomocy execute wkladasz dane do tego zapytania - z definicji powinno to byc szybsze. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:05 |