Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Вывод данных в конкретное место html кода из конкретной ячейки mysql

Здравствуйте
мне надо сделать ввод данных из конкретной ячейки mysql в конкретное место кода
написал так, но оно не работает как надо.
Если кто знает как это сделать подскажите.
В базе 6 столбцов и 35 строк
в первой строке я вставил ссылки, ноне работают.
как сделать , чтобы работало .
ссылка на прайс сейчас:

в нем все значения ячеек прописаны вручную
а надо с загрузкой из mysql, но без потери дизайна.
То что желтым выделено как сейчас, красным то что надо взять из mysql

Если кто знает как это сделать подскажите!!!

</head>
<?php
$mysqli = @new mysqli('localhost', 'root', '', 'price');
if (mysqli_connect_errno()) {
echo "Connect impossible: ".mysqli_connect_error();
}
$result_set = $mysqli->query('SELECT * FROM prices');
$result_set->num_rows;
while ($row = $result_set->fetch_assoc()) {
print_r($row);
echo "<br />";
}
$arr = array();
while($row = $_result_set->fetch_array()){
$arr['link1'] = $row['id'];
$arr['link2'] = $row['code'];
$arr['link3'] = $row['image'];
$arr['link4'] = $row['name'];
$arr['link5'] = $row['price_1'];
echo "<br />";
}
$result_set->close();
$mysqli->close();
?>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<div id="table_wrap">
<div id="sidebar">
<table id="main">
<table width="100%" border="1" cellpadding="0" cellspacing="0" bgcolor="" >
<tr>
<th colspan="6" bgcolor="#F9D684" style="font-size:20px;font-family:Arial">Acrilic art paints 135ml (99 UZ)</th>
<input style = 'width: 100%;' type="button" value="Back to main page" class="b1" onClick='location.href="index.php"'>
</tr>
</table>
</div>
<div>
<table id="main">
<table width="100%" border="1" cellpadding="0" cellspacing="0" bgcolor="" >
<tr class="bordered">
<td align="center" style="font-size:30px;font-family:Rocwel;width:8%"><b>Color Number</b></td>
<td align="center" style="font-size:30px;font-family:Rocwell;width:5%"><b>Color</b></td>
<td align="center" style="font-size:30px;font-family:Rocwell;width:10%"><b>Type of jars</b></td>
<td align="center" style="font-size:30px;font-family:Rocwell;width:60%"><b>Color name</b></td>
<td align="center" style="font-size:30px;font-family:Rocwell;width:8%"><b>Price</b></td>
</tr>
<tr class="bordered">
<td align="center" style="font-size:30px;font-family:Century;"><? echo $row['link1'];?></td>
<td style="background:<? echo $row['link2'];?></td>
<td align="center"><img src="<? echo $row['link3'];?>" /></td>
<td style="font-size:30px;text-align:center;font-family:Century;"><? echo $row['link4'];?></td>
<td style="font-size:30px;text-align:center;font-family:Calibri;"><? echo $row['link5'];?></td>
</tr>
<tr class="bordered">
<td align="center" style="font-size:30px;font-family:Century;">226</td>
<td align="center" style="background:yellow; "></td>
<td align="center"><img src="images/226.jpg" /></td>
<td style="font-size:30px;text-align:center;font-family:Century;">Yellow Medium</td>
<td style="font-size:30px;text-align:center;font-family:Calibri;">2.00</td>
</tr>
<tr class="bordered">
<td align="center" style="font-size:30px;font-family:Century;">227</td>
<td align="center" style="background:#B9924F; "></td>
<td align="center"><img src="images/227.jpg" /></td>
<td style="font-size:30px;text-align:center;font-family:Century;">Ohra</td>
<td style="font-size:30px;text-align:center;font-family:Calibri;">2.00</td>
</tr>

Добавлено через 2 минуты
Здравствуйте.
Создаю прайс.

Сейчас все значения в таблице прописаны вручную.

<tr class="bordered">
<td align="center" style="font-size:30px;font-family:Century;">226</td>
<td align="center" style="background:yellow; "></td>
<td align="center"><img src="images/226.jpg" /></td>
<td style="font-size:30px;text-align:center;font-family:Century;">Yellow Medium</td>
<td style="font-size:30px;text-align:center;font-family:Calibri;">2.00</td>
</tr>

Необходимо грузить выделенные данные из mysql.
Причем без потери дизайна, то-есть в выделенные красным места надо вставить ссылки на конкретные ячейки в mysql.

Если кто-то делал, что-то подобное, подскажите. Горю по срокам!!!
Заранее благодарен.
С уважением
Кирилл Сухарев.
Ответ: Спасибо.
я пошёл по другому пути.
Вопрос: У меня ошибка при заполнении таблицы через интерфейс

У меня на сайте уже есть БД с таблицей dbhv.
Сам сайт состоит из 6 страниц, где есть 1 страница управления БД.
Вот ее код:
Код HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<html>
<head>
  <title>БД для домашней видеотеки</title>
  <meta charset="utf-8">
  <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
 
<div class="header">
<h1 align="center">БД для домашней видеотеки</h1>
<h2 align="center">Управление</h2>
</div>
 
<div class="left_col">
<p align="center">Меню</p>
 
  <form action="index.php" align="center">
  <p><input type="button" name="press" value="      Все фильмы      " onclick="window.location.href='index.php'"></p>
  
  <form action="search_name.php">
  <p><input type="button" name="press" value=" Поиск по названию " onclick="window.location.href='search_name.php'"></p> 
  
  <form action="search_year.php">
  <p><input type="button" name="press" value="     Поиск по году     " onclick="window.location.href='search_year.php'"></p>
  
  <form action="search_status.php">
  <p><input type="button" name="press" value="   Поиск по статусу  " onclick="window.location.href='search_status.php'"></p>
  
  <form action="management.php">
  <p><input type="button" name="press" value="    Управление БД    " onclick="window.location.href='management.php'"></p>
  
  
 
</div>
 
<div class="right_col">
<?php
session_start();
 
$host='mysql.hostinger.ru';
$database='u954626759_dbhv';
$user='u954626759_mp';
$pswd='trivosmerki';
 
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
 
if (isset($_POST['add']) and $_POST['name'] != '' and $_POST['year'] != '' and $_POST['status'] != '')
{
 $name = $_POST['name'];
 $year = $_POST['year'];
 $status = $_POST['status'];
 $sql = 'INSERT INTO `u954626759_dbhv`.`dbhv`(`id`, `name`, `year`, `status`) VALUES(NULL, "'.$name.'", "'.$year.'", "'.$status.'")';
// проверка
 if(!mysql_query($sql))
 {echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';} 
 else 
 {echo '<center><p><b>Данные успешно добавлены!</b></p></center>';}
}
 
$query = "SELECT * FROM `dbhv`";
$res = mysql_query($query);
 
echo "<table border=2>";
while($row = mysql_fetch_array($res))
{
                echo "<tr>";
                echo "<td>ID: ".$row['id']."</td>";
                echo "<td>Название: ".$row['name']."</td>";
                echo "<td>Год: ".$row['year']."</td>";
                echo "<td>Статус: ".$row['status']."</td>";
                echo "</td>";
                echo "</tr>";
}
 
 
 
?>
</div>
 
<form method="post" action="management.php"> 
Название: <input type="text" size="30" name="name">
Год: <input type="text" size="45" name="year">
Статус: <input type="text" size="100" name="status">
<input type="submit" value="Добавить" name="add">
</form>
 
 
</body>
</html>
Проблема в том, что меня при нажатии на кнопку добавить кидает на главную станицу сайта index.php, но ведь кидать не должно, просто должна добавиться запись в таблицу. А этого не происходит. Помогите понять в чем проблема.
Вот та самая страница:


Добавлено через 5 минут
Вот я не понимаю, даже если в index.php нет ниодного кодо на php при нажатии на кнопку Добавить на странице management.php все равно меня просто кидает на страницу index.php.

Добавлено через 7 минут
Ведь при нажатии на кнопку добавить происходит отправка формы по адресу, заданному атрибутом action="management.php", то есть не должно меня отправлять на страницу index.php.
Ответ: Где <form action="index.php"> закрывается?
Вопрос: C#, CacheDataReader, ошибка "Incorrect list format, 0 >= 0"

Иногда ловим такую ошибку "Incorrect list format, 0 >= 0"

Простой казалось бы запрос "Select * from table"

И код:
while(reader.Read())
{
   Debug.WriteLine(reader["Name"]);
}


В портале запрос выполняется нормально, а вот в шарпе - выводит все строки таблицы, как и нужно, но лишний раз заходит на итерацию и при попытке выполнить reader["Name"] валится с ошибкой. То есть reader.Read() возвращает true уже когда все строки прочитаны. Из-за этого возникает ошибка. Причём ошибка, конечно, очень информативная "0 >= 0".

Может кто сталкивался с таким?
Ответ:
Vixler
Иногда ловим
То есть ошибка плавающая?

Длинные строки включены? $zv, .NET (включая битность)?

Приведите полный свой код, например для области "SAMPLES".
+ У меня работают оба варианта:
private void Button1Click(object sender, EventArgs e)
{
  Cursor = Cursors.WaitCursor;
  try
  {
    textBox1.Clear();
    using (var connection = new OdbcConnection("DRIVER={InterSystems ODBC35};SERVER=localhost;PORT=1972;DATABASE=SAMPLES;UID=_system;PWD=SYS;Unicode SQLTypes=1"))
    {
      using (var command = new OdbcCommand("SELECT * FROM Sample.Person", connection))
      {
        connection.Open();
        using (var result = command.ExecuteReader())
        {
          while (result.Read())
          {
            textBox1.Text += result["SSN"] + Environment.NewLine;
          }
        }
      }
    }
  }
  finally
  {
    Cursor = Cursors.Default;
  }
}

private void Button2Click(object sender, EventArgs e)
{
  Cursor = Cursors.WaitCursor;
  try
  {
    textBox1.Clear();
    using (var connection = new CacheConnection("Server=localhost;Port=1972;Namespace=samples;User ID=_system;Password=SYS;Pooling=false"))
    {
      using (var command = new CacheCommand("SELECT * FROM Sample.Person", connection))
      {
        connection.Open();
        using (var result = command.ExecuteReader())
        {
          while (result.Read())
          {
            textBox1.Text += result["SSN"] + Environment.NewLine;
          }
        }
      }
    }
  }
  finally
  {
    Cursor = Cursors.Default;
  }
}
Vixler
Причём ошибка, конечно, очень информативная "0 >= 0"
Она больше для внутренних целей (, ): в норме такие ошибки обычно не возникают и их быть не должно.
Вопрос: А почему у меня correlate не работает?

Кто можеть помочь?
response из сервера:
<a:RespItem>
  <
a:bIN>123456748</a:bIN>
  <
a:dataSource>0</a:dataSource>
  <
a:fullAddress>г.xxx, Улица xxx , д.xx</a:fullAddress>
  <
a:fullName>Гос. предприятие</a:fullName>
  <
a:id>123456789456</a:id>
  <
a:code>WW15</a:code>
  <
a:rNN>987654321032</a:rNN>
</
a:RespItem>  

************************************************

<xs:complexType name="RespItem">
  <
xs:sequence>
    <
xs:element name="bIN" nillable="true" type="xs:string"/>
    <
xs:element name="dataSource" type="xs:unsignedByte"/>
    <
xs:element name="fullAddress" nillable="true" type="xs:string"/>
    <
xs:element name="fullName" nillable="true" type="xs:string"/>
    <
xs:element name="id" type="xs:long"/>
    <
xs:element name="code" nillable="true" type="xs:string"/>
    <
xs:element name="rNN" nillable="true" type="xs:string"/>
  </
xs:sequence>
</
xs:complexType>
класс в Intersystems cache:
Class user.model.RespItem Extends (%RegisteredObject%XML.Adaptor)
{
  
Parameter XMLNAME = "RespMOItem";
  
Property bIN As %String(MAXLEN ""XMLNAME "bIN");
  
Property dataSource As %xsd.unsignedByte(XMLNAME "dataSource");
  
Property fullAddress As %String(MAXLEN ""XMLNAME "fullAddress");
  
Property fullname As %String(MAXLEN ""XMLNAME "fullname");
  
Property id As %Integer(XMLNAME "id");
  
Property code As %String(XMLNAME "code");
  
Property rNN As %String(MAXLEN ""XMLNAME "rNN");
  
Property state As %String(XMLNAME "state"XMLPROJECTION "CONTENT");
}
мой код:
.....
  #dim xmlr As %XML.Reader ##class(%XML.Reader).%New()
  
xmlr.OpenStream(response)
  
xmlr.Correlate("RespItem","User.model.RespItem")

  
#dim item as User.model.RespItem
  
count=0
  
while xmlr.Next(.item,.sc{
    
count=count+1
     
count,!  
     
"name="_item.fullname,!
     
"id="_item.id,!
     
"code"_item.code,!
  
}
Ответ: servit,

Спасибо все заработало,

ошибки здесь:
А почему у меня correlate не работает?
<a:fullName>Гос. предприятие</a:fullName>
=> Property fullname As %String(MAXLEN = "", XMLNAME = "fullname");

Вопрос: Получение баланса пользователя...

Привет! Можешь помочь мне пожалуйста? Я пытаюсь сделать получение баланса пользователя...
Есть код:

PHP:

  1. $mysqli = new mysqli($config['db_host'], $config['db_login'], $config['db_passw'], $config['db_name']);
  2. if ($bal = $mysqli->real_query("SELECT `balance` FROM `users` WHERE login = 'JaugelPon'")) {
  3.     $balance = ("$bal");
  4.     echo("Баланс: $balance руб.");
  5. }
  6. $mysqli->close();

При выполнение он возвращает "1"...
Структура таблицы, может там что-то не так?

CODE (SQL):

  1. `id` bigint(20) NOT NULL,
  2. `login` char(32) DEFAULT NULL,
  3. `password` char(32) DEFAULT NULL,
  4. `balance` int(10) NOT NULL DEFAULT '0'

Пользователь JaugelPon есть, его баланс 3254.
При выполнении "SELECT `balance` FROM `users` WHERE login = 'JaugelPon'" в консоли PMA выводится баланс...


UPD: Починил вот так
PHP:

  1. $mysqli = new mysqli($config['db_host'], $config['db_login'], $config['db_passw'], $config['db_name']);
  2. $result = $mysqli->query("SELECT * FROM users WHERE id=1");
  3. $row = $result->fetch_assoc();
  4. echo($row['balance']);
  5. $mysqli->close();

(Отредактировано автором: 25 Мая, 2017 - 13:49:56)

Ответ:
andrewkard пишет:

отлично. Цикл while тут не нужен,

$row = $result->fetch_assoc();

вернет первую строку набора.

Спасибо! Жалко что спасибки не могу ставить...
Вопрос: Oracle Text - очень медленно работает contains и near

Всем привет!

Есть задача - аналитическая таблица, содержащая 15 млн. документов. Размер каждого документа от 20 до 100 страниц. Текстовка выгружена в CLOB. На эту таблицу построен Oracle Text индекс типа CONTEXT:
CREATE INDEX rco_anal ON files(txt) INDEXTYPE IS ctxsys.context;

Выполняем поиск по этой таблице - ищем упоминания людей по фамилии, имени и отчеству: contains(txt,'NEAR (((Бирюков),(Алексей),(Игоревич)),5)').
Когда фамилия редкая (Бирюков) поиск занимает 9 секунд, но когда фамилия распространенная (Иванов) - поиск занимает 310 секунд. Когда мы ищем по четырем словам (с годом рождения) запрос выполняется несколько часов.

Я запрашивал информацию Oracle Text Trace (приведена ниже), но это не объяснило разницу в поиске.

Прошу знатоков Oracle Text объяснить почему так происходит и как можно ускорить поиск?

SQL-case со статистикой:

==============================

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> select count(*) from files;

  COUNT(*)
----------
  15256791

Executed in 0,052 seconds

SQL> select count(*) from dr$rco_anal$i;

  COUNT(*)
----------
 402923895

Executed in 21,543 seconds

SQL> select count(*) from dr$rco_anal$k;

  COUNT(*)
----------
  15256791

Executed in 0,413 seconds

SQL> select count(*) from dr$rco_anal$n;

  COUNT(*)
----------
         0

Executed in 0,000 seconds

SQL> select count(*) from dr$rco_anal$r;

  COUNT(*)
----------
         1

Executed in 0,001 seconds

SQL> select count(*) from files where contains(txt,'(Бирюков AND Алексей AND Игоревич)') > 0;
  COUNT(*)
----------
      5527
Executed in 1,373 seconds

SQL> select count(*) from files where contains(txt,'NEAR (((Бирюков),(Алексей),(Игоревич)),5)') > 0;
  COUNT(*)
----------
         3
Executed in 9,126 seconds

SQL> select count(*) from files where contains(txt,'(Иванов AND Алексей AND Игоревич)') > 0;
  COUNT(*)
----------
     37255
Executed in 15,429 seconds


--------------- Oracle Text Trace -----------------------------

SQL> select id from anal.files where contains(txt,' NEAR(((Бирюков),(Алексей),(Игоревич)),5)') > 0;
        ID
----------
  23727822
  30537373
  26275335
Executed in 9,126 seconds

SQL> select id from anal.files where contains(txt,'NEAR (((Иванов),(Алексей),(Игоревич)),5)') > 0;
        ID
----------
  22088462
...
  53649006
  53866426
223 rows selected

Executed in 309,959 seconds

Oracle Text Trace                                              Бирюков Иванов
                                                               (9 s)    (309s)
-------------------------------------------------------------- -------- ------
Time spent executing user datastore:                           0        0    
Time spent invoking the AUTO_FILTER filter:                    0        0    
Time spent executing the $X cursor:                            186      177  
Time spent fetching from $X:                                   4033     4256 
Total number of rows whose token metadata was fetched from $X: 6381     6827 
Time spent fetching the LOB locator from $I:                   23563    52426
Time spent reading $I LOB information:                         24542    62483
Number of rows whose $I token_info was actually read:          4977     6609 
Number of bytes read from $I LOBs:                             71897    14651
Time spent fetching and reading $R information:                111      4756 
Time spent in CONTAINS processing:                             91205    30920
Time spent fetching and reading $S information:                0        0    
Time spent reading $O information:                             0        0    
Time spent reading $D information:                             0        0    
Time spent extracting a snippet from a document:               0        0  


--------- Разница в статистиках 2 запросов на основе скрипта из книги Тома Кайта -------------------

SQL> exec runstats_pkg.rs_start;
PL/SQL procedure successfully completed
Executed in 0,015 seconds

SQL> select count(*) from files where contains(txt,'NEAR (((Бирюков),(Алексей),(Игоревич)),5)') > 0;
  COUNT(*)
----------
         3
Executed in 9,212 seconds

SQL> exec runstats_pkg.rs_middle;
PL/SQL procedure successfully completed
Executed in 0,032 seconds

SQL> select count(*) from files where contains(txt,'NEAR (((Иванов),(Алексей),(Игоревич)),5)') > 0;
  COUNT(*)
----------
       223
Executed in 308,103 seconds

SQL> exec runstats_pkg.rs_stop(1);

Run1 ran in 921 cpu hsecs
Run2 ran in 30810 cpu hsecs
run 1 ran in 2.99% of the time

Run1 latches total versus runs -- difference and pct
          Run1               Run2              Diff        Pct
          13,407            74,188            60,781     18.07%


Статистическая информация Oracle - приведена статистика 2 запросов по метрикам, где они отличаются в 2 запросах (Бирюков и Иванов) на 1 и более:
+

Name                                      Run1            Run2            Diff
STAT...db block changes                    115             113              -2
STAT...redo entries                         23              25               2
STAT...HSC Heap Segment Block               23              25               2
STAT...Heap Segment Array Inse              23              25               2
STAT...parse time elapsed                    6               4              -2
LATCH.object queue memory                    1               3               2
LATCH.KTF sga latch                          0               2               2
LATCH.temp lob duration state                0               2               2
LATCH.resmgr:resource group CP               5               3              -2
LATCH.job workq parent latch                 1               3               2
LATCH.Result Cache: SO Latch                 0               2               2
STAT...user I/O wait time                    1               4               3
STAT...non-idle wait time                    1               4               3
STAT...active txn count during               0               3               3
STAT...cleanout - number of kt               0               3               3
STAT...consistent changes                   91              87              -4
STAT...calls to kcmgcs                      66              70               4
STAT...parse time cpu                        6               2              -4
STAT...execute count                        42              38              -4
LATCH.list of block allocation               1               5               4
LATCH.dispatcher info                        0               4               4
STAT...pinned cursors current                6               0              -6
LATCH.kjoedcso state object fr               0               6               6
LATCH.dml lock allocation                    0               6               6
LATCH.lob segment hash table l               1               7               6
LATCH.deferred cleanup latch                 0               6               6
LATCH.cp sga latch                           0               6               6
LATCH.ncodef allocation latch                0               6               6
LATCH.ASM network state latch                0               6               6
LATCH.ASM remote client latch                0               6               6
LATCH.Sched IM Job latch                     1               7               6
STAT...opened cursors current                7               0              -7
LATCH.Result Cache: RC Latch                 0               7               7
STAT...db block gets                        85              77              -8
STAT...db block gets from cach              85              77              -8
STAT...parse count (total)                  41              33              -8
LATCH.shared pool simulator                  9               1              -8
LATCH.job_queue_processes free               0               8               8
LATCH.JS slv state obj latch                 1               9               8
LATCH.SQL memory manager latch               1              10               9
LATCH.Real-time descriptor lat               1              10               9
STAT...opened cursors cumulati              44              34             -10
STAT...consistent gets pin (fa             174             184              10
LATCH.FOB s.o list latch                     5              15              10
LATCH.resmgr:actses change sta               4              14              10
LATCH.kwslbmdl: metadata latch               1              11              10
LATCH.AQ Coord jobx_kwsbgsgn l               1              11              10
LATCH.AQ Sharded master pool l               1              11              10
LATCH.krso process latch                     0              11              11
LATCH.managed standby latch                  0              11              11
LATCH.Shared B-Tree                          1              12              11
LATCH.kwqbsn:qsga                            0              11              11
STAT...session cursor cache hi              15              27              12
STAT...parse count (hard)                   13               1             -12
LATCH.object queue header free               1              13              12
LATCH.file cache latch                       0              12              12
LATCH.threshold alerts latch                 1              13              12
STAT...enqueue releases                     19               6             -13
STAT...session cursor cache co              16               3             -13
LATCH.Consistent RBA                         2              15              13
STAT...enqueue requests                     20               6             -14
LATCH.dtp latch                              3              17              14
LATCH.sequence cache                         0              15              15
LATCH.event stats latch                      3              19              16
LATCH.Report Request stats lat               4              20              16
LATCH.compile environment latc               3              20              17
LATCH.cp srv type state latch                1              19              18
LATCH.JS mem alloc latch                     0              18              18
LATCH.JS queue access latch                  1              19              18
LATCH.session switching                      4              24              20
LATCH.kss move lock                          7              27              20
LATCH.PL/SQL warning settings               37              60              23
STAT...workarea memory allocat             -10             -35             -25
LATCH.Request holder compeltio               7              35              28
LATCH.process group creation                 6              35              29
LATCH.channel handle pool latc               7              36              29
LATCH.OS process: request allo               6              35              29
LATCH.ksz_so allocation latch                6              35              29
LATCH.simulator lru latch                    1              30              29
LATCH.kwsptjobAdPtLt: AdPt lis               0              31              31
LATCH.Event Group Locks                      7              39              32
LATCH.session statistics                     7              40              33
LATCH.dummy allocation                       7              40              33
LATCH.ILM Stats main anchor la               7              40              33
LATCH.resmgr:schema config                   3              36              33
LATCH.cache buffers lru chain                1              38              37
STAT...recursive calls                     357             396              39
LATCH.ksv class latch                       13              53              40
LATCH.process allocation                     9              52              43
LATCH.resmgr group change latc              12              55              43
LATCH.resmgr:actses change gro              13              56              43
LATCH.session allocation                     9              53              44
LATCH.qmn task queue latch                   0              44              44
LATCH.ksv allocation latch                  12              58              46
STAT...cleanouts only - consis              70             120              50
STAT...immediate (CR) block cl              70             120              50
LATCH.resmgr:free threads list              12              65              53
STAT...shared io pool buffer g              78             136              58
LATCH.cache buffer handles                  10              72              62
LATCH.session state list latch              10              73              63
STAT...non-idle wait count                  95             158              63
STAT...physical read IO reques              84             149              65
STAT...physical read total IO               91             156              65
STAT...securefile direct read               84             149              65
LATCH.DML lock allocation                    7              73              66
STAT...physical reads direct                84             152              68
STAT...physical reads direct (              84             152              68
STAT...physical reads                       84             152              68
STAT...Cached Commit SCN refer              95             166              71
LATCH.channel operations paren              16              88              72
STAT...undo change vector size           5,360           5,444              84
LATCH.parameter table manageme               6              91              85
LATCH.undo global data                       6              96              90
LATCH.client/application info               22             113              91
LATCH.object queue header oper              18             120             102
LATCH.resmgr:active threads                 16             119             103
LATCH.Change Notification Hash               4             111             107
LATCH.KMG MMAN ready and start               4             112             108
LATCH.session timer                          4             112             108
LATCH.lgwr LWN SCN                           4             115             111
LATCH.sort extent pool                       4             129             125
LATCH.OS process                            28             155             127
LATCH.ktfbn latch                            1             129             128
LATCH.io pool granule list                 150             279             129
LATCH.active checkpoint queue                4             135             131
LATCH.ksuosstats global area                 5             150             145
LATCH.session idle bit                      62             227             165
LATCH.transaction allocation                12             204             192
LATCH.redo allocation                       11             246             235
LATCH.query server process                   8             251             243
STAT...redo size                         7,312           7,556             244
LATCH.ASM db client latch                    8             254             246
LATCH.io pool granule metadata             319             590             271
LATCH.post/wait queue                        9             286             277
LATCH.call allocation                       32             336             304
STAT...index fetch by key                  425              53            -372
LATCH.redo writing                          19             415             396
STAT...consistent gets pin                 177             605             428
LATCH.ktm global data                       16             456             440
STAT...no work - consistent re             162             607             445
LATCH.simulator hash latch                 426             897             471
LATCH.space background task la              20             497             477
STAT...consistent gets examina           6,263           6,924             661
STAT...consistent gets examina           6,263           6,924             661
LATCH.OS process allocation                 42             747             705
STAT...file io wait time                31,000          32,000           1,000
STAT...session logical reads             6,525           7,606           1,081
STAT...consistent gets from ca           6,440           7,529           1,089
STAT...consistent gets                   6,440           7,529           1,089
LATCH.shared pool                        1,289           2,391           1,102
STAT...table fetch by rowid              5,407           6,807           1,400
STAT...rows fetched via callba           5,399           6,799           1,400
LATCH.SGA Logging Bkt Latch                 53           1,457           1,404
STAT...calls to get snapshot s           1,964           3,399           1,435
LATCH.active service list                   64           1,696           1,632
LATCH.SGA Logging Log Latch                 65           1,807           1,742
STAT...in call idle wait time              300           2,722           2,422
STAT...buffer is not pinned co          10,923          13,726           2,803
LATCH.row cache objects                  1,733           5,228           3,495
LATCH.JS queue state obj latch             126           3,872           3,746
LATCH.messages                             162           4,429           4,267
LATCH.checkpoint queue latch               193           5,922           5,729
LATCH.SQL memory manager worka             303           7,701           7,398
LATCH.enqueue hash chains                  394          10,010           9,616
LATCH.cache buffers chains               7,256          20,322          13,066
STAT...Effective IO time                19,376          46,413          27,037
STAT...recursive cpu usage                 922          30,811          29,889
STAT...CPU used by this sessio             922          30,811          29,889
STAT...Elapsed Time                      1,223          33,559          32,336
STAT...securefile direct read          688,128       1,245,184         557,056
STAT...cell physical IO interc         802,816       1,359,872         557,056
STAT...physical read total byt         802,816       1,359,872         557,056
STAT...physical read bytes             688,128       1,245,184         557,056
STAT...session uga memory max        1,732,672       2,807,008       1,074,336
STAT...session uga memory            1,522,304         -65,488      -1,587,792
STAT...session pga memory max        4,194,304       1,048,576      -3,145,728
STAT...session pga memory            4,194,304      -2,162,688      -6,356,992
STAT...logical read bytes from      53,452,800      62,308,352       8,855,552

Ответ:
xtender
по-моему тут все очевидно:


В общем-то да, почему так происходит мы разобрались :) теперь пытаемся придумать как это ускорить изменя сами условия поиска

Ребилд индекса делался около 1,5 суток. Дропнули его, создали заново (с другими параметрами) - сутки создавался где-то.
В общем, это не ускорило процедуру поиска, но начали думать как искать по другому, например:
'Near (((Иванов), (Игорь Анатольевич)),5)
Вопрос: Курсоры MySQL: почему ж так медленно?

Пример конечно утрированный, но суть отражает.
--
-- Описание для базы данных test1
--
DROP DATABASE IF EXISTS test_cursor;
CREATE DATABASE IF NOT EXISTS test_cursor
CHARACTER SET cp1251
COLLATE cp1251_general_ci;

-- 
-- Установка базы данных по умолчанию
--
USE test_cursor;

--
-- Описание для таблицы test1
--
CREATE TABLE IF NOT EXISTS test1 (
  IdTest1 int(10) UNSIGNED NOT NULL,
  val boolean,
  PRIMARY KEY (IdTest1)
)
ENGINE = INNODB
AVG_ROW_LENGTH = 37
CHARACTER SET cp1251
COLLATE cp1251_general_ci;

--
-- Описание для таблицы test2
--
CREATE TABLE IF NOT EXISTS test2 (
  IdTest2 int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  IdTest1 int(10) UNSIGNED DEFAULT NULL,
  PRIMARY KEY (IdTest2),
  CONSTRAINT FK_test2_test1_IdTest1 FOREIGN KEY (IdTest1)
  REFERENCES test1 (IdTest1) ON DELETE CASCADE ON UPDATE CASCADE
)
ENGINE = INNODB
AUTO_INCREMENT = 1501
AVG_ROW_LENGTH = 32
CHARACTER SET cp1251
COLLATE cp1251_general_ci;

DELIMITER $$

--
-- Описание для процедуры proc_fill_test1
--
CREATE DEFINER = 'root'@'%'
PROCEDURE proc_fill_test1 ()
BEGIN
  DECLARE i int;
  DELETE
    FROM test1;
  SET i = 1;
  WHILE i < 1000 DO
    INSERT INTO test1 (IdTest1)
      VALUES (i);
    SET i = i + 1;
  END WHILE;
END
$$

--
-- Описание для функции fn_fill_test2
--
CREATE DEFINER = 'root'@'%'
FUNCTION fn_fill_test2 (IN_Id int)
RETURNS boolean
BEGIN
  DECLARE result boolean;
  DECLARE tmp decimal(5,1);
  DELETE
    FROM test2
  WHERE IdTest1 = IN_Id;
  SET tmp = IN_Id/2;
  SET result = (tmp = ROUND(IN_Id/2));
  IF result THEN
    INSERT INTO test2 (IdTest1)
      VALUES (IN_Id);
  END IF;
  RETURN result;
END
$$

--
-- Описание для процедуры proc_fill_test2_with_cursor
--
CREATE DEFINER = 'root'@'%'
PROCEDURE proc_fill_test2_with_cursor ()
BEGIN
  DECLARE vId int;
  DECLARE Done tinyint(1) DEFAULT 0;
  DECLARE cur CURSOR FOR
  SELECT
    t.IdTest1
  FROM test1 t
  WHERE IdTest1 > 0;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
  SET Done = FALSE;
  OPEN cur;
  REPEAT
    FETCH cur INTO vid;
    SET @result = fn_fill_test2(vId);
  UNTIL Done
  END REPEAT;
  CLOSE cur;
END
$$

--
-- Описание для процедуры proc_fill_test2_without_cursor
--
CREATE DEFINER = 'root'@'%'
PROCEDURE proc_fill_test2_without_cursor ()
BEGIN
  UPDATE test1 t
  SET Val = fn_fill_test2(t.IdTest1);
END
$$

DELIMITER ;

CALL proc_fill_test1;
DROP PROCEDURE proc_fill_test1;

Требуется пробежаться по записям таблицы test1 и, в соответствии с определенной логикой, добавить записи в подчиненную таблицу test2.
Процедура proc_fill_test2_with_cursor делает это с использованием курсора, proc_fill_test2_without_cursor - без него, но с использованием лишнего поля в test1. Обе процедуры используют одну и ту же функцию fn_fill_test2. Вторая процедура отрабатывает в несколько раз быстрее. Может я как-то неправильно создаю или использую курсор? Если же курсоры - это действительно тормоз, то можно ли обойтись без них, но и без лишних полей? Триггеры не подходят, т.к. в момент вставки в test2 никакой модификации данных в test1 не предусмотрено.
Ответ: Пардон, все оказалось проще: select fn_fill_test2(t.IdTest1) FROM test1 t решает проблему
Вопрос: Медленно обрабатывает запрос

Есть таблица :
mysql> SHOW CREATE TABLE `raw`;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| raw | CREATE TABLE `raw` (
`unix_secs` int(11) unsigned NOT NULL DEFAULT '0',
`unix_nsecs` int(11) unsigned NOT NULL DEFAULT '0',
`sysuptime` int(11) unsigned NOT NULL DEFAULT '0',
`exaddr` varchar(15) NOT NULL DEFAULT '0',
`dpkts` int(11) unsigned NOT NULL DEFAULT '0',
`doctets` int(11) unsigned NOT NULL DEFAULT '0',
`srcaddr` varchar(15) NOT NULL DEFAULT '0',
`dstaddr` varchar(15) NOT NULL DEFAULT '0',
`srcport` smallint(5) unsigned NOT NULL DEFAULT '0',
`dstport` smallint(5) unsigned NOT NULL DEFAULT '0',
`prot` tinyint(3) unsigned NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)


делаю запрос: select srcaddr and SUM(doctets) from raw where srcaddr = 'x.x.x.x';

И он выполняется 10 минут. Почты любой запрос выполняется 10 минут (select).
Как диагностировать проблему? Заранее всем спасибо.
Ответ:
Golthana
делаю запрос:
select srcaddr and SUM(doctets) from raw where srcaddr = 'x.x.x.x';

Это вообще что?
------
Ну и непонятно, почему IP хранятся текстом.
Вопрос: Програмное изменение параметров mdb файлов (Подключение References, и т.д.)

Всем привет!
В общем как все знают при работе mdb файлы постоянно накапливают мусор. Для их очистки есть отличное средство - переброс содержимого файла в новый mdb.
В моей фирме вся работа сосредоточена на базах данных Access 2002, все формы, меню, панели, отчеты создаются в нем же. Файлов -модулей для работы с базами порядка 10шт, они все постоянно дорабатываются согласно запросам пользователей, поэтому довольно часто приходится производить процедуру сжатия и пере сборки файлов. Так вот это вроде бы не слишком сложно, но на каждый файл уходит примерно по 10 минут:
Импорт:
-таблиц
-запросов
-модулей
-отчетов
-форм
-меню
-спецификации
настройка
-параметры запуска
-заголовок приложения
-подключение библиотек (References)
Задался целью автоматизировать этот процесс. В идеале хотелось создать отдельный мдб-модуль в котором я бы указывал файл, необходимый для пересборки, и на выходе получал готовый рабочий mdb.
Но тут я столкнулся с проблемами:
1)Не нашел команды для экспорта данных из одного mdb и другой mdb при помощи 3-го mdb
есть методыTransferDatabase - импортирует данные из любого файла в текущий и CopyObject - наоборот, экспорт из текущего в любую базу. А нужна команда которая может перенести данные между файлами используя в качестве исполняемого модуля 3-и файл.
Далее я отбросил затею с поисками 1 способа и пошел путем CopyObject - решил в каждом файле создать модуль, который бы переносил свои данные в другой файл и тут столкнулся со 2 и 3 проблемой
2) Не нашел способа, каким образом экспортировать из файла созданные меню, панели и спецификации (это для подключения текстовых файлов в качестве таблиц), в CopyObject оказалось возможным перенос -таблиц-запросов-модулей-отчетов-форм, а вот остальное увы...
3) При создании mdb файла он имеет 5 подключенных по умолчанию библиотек, 3 из которые не нужны, зато нужно подключить еще несколько своих дополнительно. Не нашел метода, каким образом можно подключить библиотеки к другому файлу аналогично команде Application.References и например как что-то типа OpenDatabase

Код Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Sub CreateNewModule()
Dim NewFile As String, i%
Dim db As Database
  
  NewFile = "Employee.mdb"
  
  On Error Resume Next: Kill NewFile: On Error GoTo 0
  
  DBEngine.CreateDatabase NewFile, dbLangCyrillic, dbVersion40
  Set db = CurrentDb
  'импорт таблиц
  For i = 0 To db.TableDefs.Count - 1
    If db.TableDefs(i).Attributes = 0 Or db.TableDefs(i).Attributes = 1073741824 Then DoCmd.CopyObject NewFile, db.TableDefs(i).Name, acTable, db.TableDefs(i).Name
  Next
  'импорт запросов
  For i = 0 To db.QueryDefs.Count - 1
    DoCmd.CopyObject NewFile, db.QueryDefs(i).Name, acQuery, db.QueryDefs(i).Name
  Next
  db.Close
  'импорт модулей
  For i = 0 To CurrentProject.AllModules.Count - 1
    DoCmd.CopyObject NewFile, CurrentProject.AllModules(i).Name, acModule, CurrentProject.AllModules(i).Name
  Next
  'импорт форм
  For i = 0 To CurrentProject.AllForms.Count - 1
    DoCmd.CopyObject NewFile, CurrentProject.AllForms(i).Name, acForm, CurrentProject.AllForms(i).Name
  Next
  'импорт отчетов
  For i = 0 To CurrentProject.AllReports.Count - 1
    DoCmd.CopyObject NewFile, CurrentProject.AllReports(i).Name, acReport, CurrentProject.AllReports(i).Name
  Next
End Sub
Вот пока только получается импортировать содержимое файла

после приходится заходить в новый файл импортировать меню, панели, спецификации руками и выполнять второй код для настройки библиотек и параметров
Код Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Function CompactBase() As Boolean
  CompactBase = False
  
  With Application
    With .References
      
      While .Count > 2: .Remove .Item(3): Wend 'Модуль->Tools->References... (отключение)
      'Модуль->Tools->References... (подключение)
      .AddFromFile "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll" 'DAO
      .AddFromFile "C:\Windows\System32\Speech\Common\sapi.dll" 'SpeechLib
      .AddFromFile "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL" 'Office
      .AddFromFile "C:\Program Files\Microsoft Office\Office10\MSWORD.OLB" 'Word
    End With '.References
    
    'Сервис->Параметры запуска...->Заголовок приложения
    SetTitle
    
    'Сервис->Параметры запуска...->Строка меню
    .MenuBar = "Вход"
    
    'Сервис->Параметры запуска...->Вывод формы/страницы
    On Error Resume Next: CurrentDb.Properties.Append CurrentDb.CreateProperty("StartUpForm", dbText, "Вход_F"): On Error GoTo 0
    
    'Сервис->Параметры запуска...->Окно базы данных
    CurrentDb.Properties("StartUpShowDBWindow") = False
    
    'Сервис->Параметры...->Общие->Сжимать при закрытии
    On Error Resume Next: CurrentDb.Properties.Append CurrentDb.CreateProperty("Auto Compact", dbBoolean, True): On Error GoTo 0
    CurrentDb.Properties("Auto Compact") = True
  End With 'Application
  CompactBase = True
End Function
Какие есть мысли у уважаемых гуру?
Ответ:
Сообщение от MorivVV
уникальных пользователей около 100, ежедневно работает около 40,
вообще не проблема, у меня почти так и работают уже 6 лет на одном из решений, правда одномоментно около 25, все в терминале в одном mdb, таблицы правда на sql-server. Может стоит перейти на 2003-й Акцесс? Насколько я помню у 2002-го был ряд проблем, может и распухание от этого. И ещё, вы ваших пользователей нормально развели по таблицам и записям? Одномоментно одно поле одной записи должен редактировать 1 человек! Остальные поля хоть 10, но чтобы друг другу не мешали. Также как у вас в параметрах у пользователей настроены блокировки? Галочки сняты?
Вопрос: Исключения

Значит была работа с циклами и надо было описать функцию вот ее код:
create or replace procedure laba5_1_1 (a  number, b  number) is

x number;
N number;

r float;

begin

x:=a;
N:=b;
if N>=7
  then dbms_output.put_line('error');
  elsif N=-3
    then dbms_output.put_line('Nelzya delit na 0 v pl/sql');
    else
      GOTO st;
end if;

<<st>>
while x>=20 and x<=30 loop
  x:=x+0.1;
r:=sqrt(x-N)/(N+3);
dbms_output.put_line('Otvet:'|| r);


end loop;
end laba5_1_1;

Какие здесь можно придумать еще исключения кроме ZERO_DIVIDE ?
Ответ: mcureenab,
Простите но не могли б вы реализовать мое задание так как у меня еще 2 таких задания что б я по примеру сделал?