Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Amateur7,

select p.name, pg.name, cu.name, co.cost,  f.name,f.phone
from price p
join Producer_goods pg on p.id_producer_goods = pg.id
join cost co on co.id_price = p.id_price
join Currently cu on cu.id_curency = co.id_curency
join Firm f on p.id_firm=f.id_firm
7 дек 12, 11:56    [13593111]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
а как сделать выборку по существующему id_product?
7 дек 12, 12:20    [13593308]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
Amateur7
а как сделать выборку по существующему id_product?


вернее по id_price
7 дек 12, 12:21    [13593316]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Amateur7
вернее по id_price

Существующему где ?
7 дек 12, 12:23    [13593328]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
просто такой запрос соединяет все таблицы, но мне нужно выбрать только по значению id_price...
7 дек 12, 12:23    [13593330]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Amateur7, в конец запроса допишите
where p.id_price =  ваше значение
7 дек 12, 12:25    [13593357]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34696
Amateur7,

Можеш частично переписать это в виде хранимой процедуры.
7 дек 12, 12:36    [13593456]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
Возможно глупый вопрос, но возможно ли такое?

USE ratiss
GO
WITH MAINQUERY AS( select p.name, pg.name, cu.name, co.cost, f.name, f.phone from price p
join Producer_goods pg on p.id_producer_goods = pg.id_producer_goods
join cost co on co.id_price = p.id_price
join Currency cu on cu.id_currency = co.id_currency
join Firm f on p.id_firm=f.id_firm, ROW_NUMBER() OVER (ORDER BY p.name ASC)
AS 'RowNumber' FROM Price) SELECT * FROM MAINQUERY WHERE RowNumber BETWEEN 0 AND 20

P.S.: MSSQL ругается на OVER
7 дек 12, 12:44    [13593532]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Amateur7,

еще бы Вы вот ето преркратили выдумывать сой синтаксиси t-sql и посмотрели б документацию
7 дек 12, 12:47    [13593563]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Amateur7
P.S.: MSSQL ругается на OVER

Ругаются грузчики. А MSSQL генерирует сообщение об ошибке. Которое надо читать.
7 дек 12, 12:48    [13593570]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
Amateur7
Возможно глупый вопрос, но возможно ли такое?

USE database
GO
WITH MAINQUERY AS( select p.name, pg.name, cu.name, co.cost, f.name, f.phone from price p
join Producer_goods pg on p.id_producer_goods = pg.id_producer_goods
join cost co on co.id_price = p.id_price
join Currency cu on cu.id_currency = co.id_currency
join Firm f on p.id_firm=f.id_firm, ROW_NUMBER() OVER (ORDER BY p.name ASC)
AS 'RowNumber' FROM Price) SELECT * FROM MAINQUERY WHERE RowNumber BETWEEN 0 AND 20

P.S.: MSSQL ругается на OVER



по нормальному то будет так:

USE database
GO
WITH MAINQUERY AS(SELECT id_price,name,id_city,id_producer_country,id_firm,name_original, ROW_NUMBER() OVER ($order_by)
AS 'RowNumber' FROM Price) SELECT id_price,name,id_city,id_producer_country,id_firm,name_original FROM MAINQUERY WHERE RowNumber BETWEEN $start AND $num

но задумка на превращение joing в сей код не проходит..
7 дек 12, 12:50    [13593594]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'OVER'.


я и прочитал как ощибка в OVER
7 дек 12, 12:51    [13593612]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Amateur7,

мдя....phpшники -они такое phpшники
7 дек 12, 12:52    [13593619]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
А так ?
select
    [FirmName] = f..name
   ,f.phone
   ,[Producer goods name] = pg.name
   ,[Cost name] = cs.name
   ,[CurrencyName] = cr.name
   ,cs.cost
   ,Row_Numer = ROW_NUMBER()OVER(order by ....)
from Firm f
  inner join  Price  p on f.id_firm = p.id_firm
  inner join [Producer goods] pg on p.id_producer_goods = pg.id_producer_goods
  inner join Cost cs on p.id_cost = cs.id_cost
  inner join Currently  cr on cr.id_currentcy  = cs.id_currentcy 
where p.id_price  =  ...
7 дек 12, 12:57    [13593685]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Amateur7
но задумка на превращение joing в сей код не проходит..

Потому что сначала идет список выбираемых полей. А потому уже таблицы.
А не не в перемешку, как у вас
7 дек 12, 12:58    [13593696]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
iiyama
Member

Откуда:
Сообщений: 642
в догонку постраничная выборка
7 дек 12, 13:07    [13593785]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
Maxx
А так ?
select
    [FirmName] = f..name
   ,f.phone
   ,[Producer goods name] = pg.name
   ,[Cost name] = cs.name
   ,[CurrencyName] = cr.name
   ,cs.cost
   ,Row_Numer = ROW_NUMBER()OVER(order by ....)
from Firm f
  inner join  Price  p on f.id_firm = p.id_firm
  inner join [Producer goods] pg on p.id_producer_goods = pg.id_producer_goods
  inner join Cost cs on p.id_cost = cs.id_cost
  inner join Currently  cr on cr.id_currentcy  = cs.id_currentcy 
where p.id_price  =  ...


Msg 102, Level 15, State 1, Line 14
Incorrect syntax near 'id_currency'.
7 дек 12, 13:20    [13593942]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
select
    [FirmName] = f.name
   ,f.phone
   ,[Producer goods name] = pg.name
   ,[Cost name] = cs.name
   ,[CurrencyName] = cr.name
   ,cs.cost
   ,Row_Numer = ROW_NUMBER()OVER(order by name)
from Firm f
  inner join Price  p on f.id_firm = p.id_firm
  inner join Producer_goods pg on p.id_producer_goods = pg.id_producer_goods
  inner join Cost cs on p.id_cost = cs.id_cost
  inner join Currency  cr on cr.id_currency  = cs.id_currency



Msg 102, Level 15, State 1, Line 14
Incorrect syntax near 'id_currency'.
7 дек 12, 13:21    [13593955]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Amateur7
select
    [FirmName] = f.name
   ,f.phone
   ,[Producer goods name] = pg.name
   ,[Cost name] = cs.name
   ,[CurrencyName] = cr.name
   ,cs.cost
   ,Row_Numer = ROW_NUMBER()OVER(order by name)
from Firm f
  inner join Price  p on f.id_firm = p.id_firm
  inner join Producer_goods pg on p.id_producer_goods = pg.id_producer_goods
  inner join Cost cs on p.id_cost = cs.id_cost
  inner join Currency  cr on cr.id_currency  = cs.id_currency



Msg 102, Level 15, State 1, Line 14
Incorrect syntax near 'id_currency'.


К сообщению приложен файл. Размер - 20Kb
7 дек 12, 13:26    [13594001]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
сейчас запрос прошел, только результат не выходит, только Command(s) completed successfully.
7 дек 12, 13:34    [13594083]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Amateur7
сейчас запрос прошел, только результат не выходит, только Command(s) completed successfully.

А как вы запускаете то ваш запрос ?
7 дек 12, 13:35    [13594098]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
через SQL SERVER Management Studio MSSQL 2008
7 дек 12, 13:46    [13594211]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Amateur7
через SQL SERVER Management Studio MSSQL 2008

Как, а не где.
7 дек 12, 13:56    [13594328]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Amateur7
Member

Откуда:
Сообщений: 266
вставляю код в окно запроса sql и нажимаю выполнить..
7 дек 12, 14:09    [13594482]     Ответить | Цитировать Сообщить модератору
 Re: Как уменьшить нагрузку и увеличить скорость работы скрипта?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Amateur7
и нажимаю выполнить..

партизаны млин
И как выглядит это "нажимаю" ?
7 дек 12, 14:11    [13594506]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить