The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Særlige Forums > Web Programmering, Web 2.0 og mashups
.
google unix.com



Web Programmering, Web 2.0 og mashups Diskuter Web Programmering og Web Server Administration, herunder LYGTE, Apache, MySQL, Flash, HTML, SEO, mashups og andre Web API'er og emner.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Carsten's Random Ramblings på MySQL, PHP, programmering og kram iBot Solaris BigAdmin RSS 0 02-04-2009 02:30 PM
Mac OS X 10.5: Time Machine ikke sikkerhedskopiere til AirPort Extreme AirPort Skiver iBot OS X Support RSS 0 11-17-2008 12:10 PM
AirPort Quick Assist iBot OS X Support RSS 0 11-14-2008 04:50 PM
Mac OS X 10.5.5: Kan ikke slå AirPort på efter at slukke den og genstarte iBot OS X Support RSS 0 10-27-2008 11:30 AM
Tilslutning Solaris til AirPort-netværk giax Sun Solaris 1 07-17-2007 02:05 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 05-02-2009
worchyld worchyld is offline
Registreret Bruger
  
 

Join Date: Mar 2009
Stillinger: 27
MySQL: Tilfældige tilbud for hver lufthavn

Jeg har brug for at skrive en MySQL forespørgsel, hvor det løber igennem hver lufthavn og genererer 10 tilfældige tilbud (mit tilbud tabellen er 990.000 + rækker)

Koden jeg har nedenfor arbejder for 1 lufthavnen, men så snart det bliver større, det bremser helt ned.

Det er ved hjælp af PHP / MySQL

I øjeblikket tager det langt over et minut til at køre, som er alt for lang tid - jeg har brug for det meget, meget hurtigere.

Kan nogen hjælpe?

Code:
/**
 * This code takes over a minute to run.  How do I make it quicker?
 */
// Get airports
$sql0    = 'SELECT airportcode FROM airports ORDER BY airportcode ASC';
$query    = $this->db->query($sql0);

// Loop through airports
foreach ($query->result() as $row)
{
    // Get a random offer so long as the airport matches
    $sql1 = 'SELECT T.id, T.DepAirportCode
            FROM offers T
            JOIN (
                SELECT FLOOR( MAX( id ) * RAND( ) ) AS id
                FROM offers
                ) AS x ON T.id >= x.id
            WHERE 
                T.DepAirportCode="'.$row->airportcode.'" 
            LIMIT 
                10';
    
    // Loop through random offers
    $query1    = $this->db->query($sql1);
    foreach ($query1->result() as $row)
    {
        print $row->id;
        print $row->DepAirportCode;
    } // next
} // next
  #2 (permalink)  
Old 06-10-2009
Figaro figaro is offline
Registreret Bruger
  
 

Join Date: Jan 2007
Posts: 267
Du er nødt til at kombinere de to søgninger i 1 forespørgslen, og således at mindst WHERE ser ud som følger:
WHERE T. DepAirportCode \u003d airports.airportcode
Har en læser af denne for at vælge en tilfældig række: SQL til Vælg en tilfældig række fra en database tabel
  #3 (permalink)  
Old 06-10-2009
worchyld worchyld is offline
Registreret Bruger
  
 

Join Date: Mar 2009
Stillinger: 27
Mange tak, jeg har løst problemet på en anden måde.

Tak igen!
Reply

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 10:38 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0