Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Duże zapytania SELECT.
Forum PHP.pl > Forum > Bazy danych > Oracle
gablot
Witam! jestem mniej zaawansowanym programistą i zanim zacznę przygodę tworzenia aplikacji www chciałbym się zapytać doświadczonych programistów. Otóż w jaki sposób i jakim narzędziem (programem) się wspomóc przy tworzeniu aplikacji która będzie wykonywała same select-y ale z bardzo dużych tabel? Chodzi mi oto że aplikacja ma wykonywać skrypty PL/SQL czy zwykłe SQL zapytania przez przeglądarkę. Normalnie takie zapytania trwają poprzez paragram SQL plus 1 min czy tak samo będzie generowanie wyniku przez www? I czy istnieje aplikacja która wygeneruje mi np. połączenie z bazą danych abym nie musiał to w skryptach robić ręcznie? pozdrawiam i z góry dziękuje za zainteresowanie tematem

Może napisze co znalazłem: fajny skrypt generujący wyniki w postaci html oto on:

  1. function jquery($query)
  2. {
  3. $db_host='10.130.148.15';
  4. $db_user='root';
  5. $db_pass='';
  6. $db_name='Focus';
  7. // Connect to DB
  8. if (!$link = @mysql_connect($db_host, $db_user, $db_pass))
  9. {
  10. $result = 0;
  11. print("<FONT COLOR='Red'><BR><BR><HR><CENTER><B>Error connecting to $db_host!<HR></B><BR>\n");
  12. }
  13. else
  14. {
  15. // Select DB
  16. if (!@mysql_select_db($db_name, $link))
  17. {
  18. $result = 0;
  19. print("<FONT COLOR='Red'><BR><BR><HR><CENTER><B>Error selecting $db_name!<HR></B><BR>\n");
  20. }
  21. else
  22. {
  23. // Execute query
  24. if (!$result = @mysql_query($query, $link))
  25. {
  26. $result = 0;
  27. print("<FONT COLOR='Red'><BR><BR><HR><CENTER><B>Error executing query!<HR></B><BR>\n");
  28. }
  29. else
  30. {
  31. $fields = mysql_num_fields($result);
  32. while ($array = mysql_fetch_array($result))
  33. {
  34. for ($i=0; $i <= $fields; $i++)
  35. {
  36. echo $array[$i];
  37. if ( $i < $fields ) echo "; ";
  38. }
  39. echo "<BR>\n";
  40. }
  41. }
  42. }
  43. }
  44. return $result;
  45. }
  46. function bgn_html($title, $author, $header)
  47. {
  48. print ("<HTML>\n");
  49. print (" <HEAD>\n");
  50. printf (" <TITLE>%s</TITLE>\n", $title);
  51. print (" <META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=windows-1252'>\n");
  52. printf (" <META NAME='AUTHOR' CONTENT='%s'>\n", $author);
  53. print (" </HEAD>\n");
  54. print (" <BODY BGCOLOR='#F1F1F1' TEXT='#364180'>\n");
  55. print (" <BASEFONT FACE='Courier New'>\n");
  56. printf (" <H1><CENTER>%s</CENTER></H1>\n", $header);
  57. printf (" <HR>\n");
  58. }
  59. function end_html ()
  60. {
  61. print (" </BODY>\n");
  62. print ("</HTML>\n");
  63. }
  64. bgn_html ('Test PHP-Site', 'rolandz', 'Output');
  65. jquery('SELECT * FROM table WHERE field = x');
  66. end_html ();
  67. ?>
  68. </body>
  69. </html>
  70.  


oczywiście trzeba go jeszcze przerobić na bazę Oracle a nie mysql ale to juz coś.

Jeśli chodzi o przyspieszenie zapytań znalazłem coś na temat Cachowania zapytań SQL w PHP. Jeśli ktoś używał coś takiego proszę niech się wypowie na ten temat może ma jakieś ciekawe uwagi co to tego sposobu. A ja podaje linka o co dokłanie mi chodzi http://webcity.pl/webcity/cachowanie_zapytan_sql_w_php
Proszę o opinie czy to w ogóle spełnia swoje zadania. No o i o inne pomysły.
Method
czy selecta wykonujesz na konsoli czy na www to select wykonuje się tyle samo tongue.gif
udostepniając poprzez www dane twoje zadanie (select na tabeli jest jednym z kroków) obarczone jest pewnymi obustrzeniami. Generowanie glupiego html'a też coś trwa, zwykle serwer bd nie jest serwerem www wiec dochodzi przepustowosc łącza.
Co do cachowania do oracle sam cashuje input/output tj więc sam oracle zapewni Ci cashowanie, jak dołożysz sensowne indeksy i zoptymalizujesz sqlki to pewnie obejdzie się bez jakiś wynalazkow, co do tego twojego linka to jak sami autorzy napisali użycie zależy od zapytań.

Teraz co do Twoich generatorów, to nie będą Ci specjalnie potrzebne jak sobie napiszesz elastycznie kod (podpowiedź: po coś wymyslili obiektowość).
Ja zwykle generuję sobie szkielety klas z diagramu klas w EA. Podobno ludzie generują całe prototypy (znaczy narzędzie umożliwia, takie cuda) ale ja takiego ludzia jeszcze nie spotkałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.