🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #219833

Re: Wolno dzialajacy skrypt

#219833
From: Lemat
Date: Thu, 23 Jul 2009 21:18
36 lines
2227 bytes
maYk wrote:

> Problem polega na tym ze wszystko to bardzo wolno dziala. Przy 1700

co do statusów, o pierwsza próba reanimacji wygląda tak:

$sql = "SELECT DISTINCT product_status FROM `_cms_groups_data WHERE `status` 
= '3'";
while ($wynik = mysql_fetch_array($result)) {
	$statuses  .= $wynik['product_status'];
	}

if (isset($statuses)){
	$new_statuses = array_unique(explode(",",$statuses));
	foreach($new_statuses as $statuses) {
		if (!empty($statuses))
			$list_statuses[$statuses]=$pull_up_product_status_info[$statuses];
		}
	if (isset($list_statuses))
		$list_statuses = sort($list_statuses);
	}

czyli najpierw stworzymy jednego długiego stringa, potem go podzielimy i 
wybierzemy wartości unikalne

na końcu zamiast array_msort zróbmy sort - niech $list_statuses będzie 
tablicą której kluczem jest id statusu a wartością jego nazwa.

druga próba reanimacji wymagałaby zmiany bazy danych - product_status nie 
powinna być listą wartości oddzielonych przecinkami, bo to się koszmarnie 
wolno (jak sam zauważyłeś) parsuje/przetwarza. Standardowo robi się 
oddzielną tabelę na statusy i całą robotę z unikalnością znowu zwala na bazę 
danych.
-- 
Pozdrawiam
Lemat
Technical Details
Message-ID: <h4aklf$j41$1@nemesis.news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.neostrada.pl!nemesis.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
References: <73ced6b9-b6ea-42c8-beb7-d3af06008365@26g2000yqk.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.neostrada.pl!nemesis.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Lemat <#@lemat.priv.pl>
Newsgroups: pl.comp.lang.php
Subject: Re: Wolno dzialajacy skrypt
Followup-To: pl.comp.lang.php
Date: Thu, 23 Jul 2009 23:18:39 +0200
Organization: lemat.priv.pl
Lines: 38
Message-ID: <h4aklf$j41$1@nemesis.news.neostrada.pl>
References: <73ced6b9-b6ea-42c8-beb7-d3af06008365@26g2000yqk.googlegroups.com>
NNTP-Posting-Host: goblin.lemat.priv.pl
Mime-Version: 1.0
X-Trace: nemesis.news.neostrada.pl 1248384495 19585 79.190.106.118 (23 Jul 2009 21:28:15 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Thu, 23 Jul 2009 21:28:15 +0000 (UTC)
User-Agent: KNode/0.99.01
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit