wmaraci reklam
lidertakipci

Sql serverden hızlı veri çekme

5 Mesajlar 1.728 Okunma
advertseo
wmaraci reklam

koboy koboy WM Aracı Kullanıcı
  • Üyelik 23.02.2017
  • Yaş/Cinsiyet 40 / E
  • Meslek yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad E** A**
  • Mesajlar 4
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Arkadaşlar merhaba sql Manager den veri çekip Web tabanlı yapmak istiyorum php ile odbc ile connect bağlantı kurup verileri çekiyorum ama yavaş çekiyor verileri 30.000 yakın kayıt var ne tür yol izlemem lazım hızlı çekmek için
 

 

wmaraci
reklam

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1119
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
- Sayfalama kullanmak avantaj sağlar, tüm veriyi çekmektense.
- Prosedür kullanmak avantaj sağlar.
- Ayrıca yazdığın prosedürde "Set NOCOUNT ON;" deyimini kullanırsan anlık kayıt sayısını saymak için SQL Server uğraşmayacaktır.
 

 

www.ontedi.com
www.cizgi.site

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 562
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
parça parça çek hocam hepsini aynı anda çekme
 

 

koboy koboy WM Aracı Kullanıcı
  • Üyelik 23.02.2017
  • Yaş/Cinsiyet 40 / E
  • Meslek yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad E** A**
  • Mesajlar 4
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Set NOCOUNT ON

bunu nereye yazamam lazım StoredProcedure tablo yaptım
 

 

wmaraci
wmaraci

koboy koboy WM Aracı Kullanıcı
  • Üyelik 23.02.2017
  • Yaş/Cinsiyet 40 / E
  • Meslek yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad E** A**
  • Mesajlar 4
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
bu şekilde kodlarım

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[stok_durumu]
@T1 NVARCHAR(20)='ithal',
@T2 NVARCHAR(20)='aysan'

AS
BEGIN

DECLARE @SQL NVARCHAR(MAX);

Set @SQL NOCOUNT ON


= ' SELECT dbo.LG_211_ITEMS.CODE AS [kod], dbo.LG_211_ITEMS.NAME AS [aciklama], LG_211_SPECODES.DEFINITION_ AS [turu], LG_211_SPECODES.SPECODE AS [aile],

SUM(CASE WHEN dbo.LG_211_01_STLINE.SOURCEINDEX = 0 THEN CASE WHEN dbo.LG_211_01_STLINE.IOCODE IN (1, 2)
THEN 1.0 ELSE - 1.0 END * dbo.LG_211_01_STLINE.AMOUNT END) AS [MERKEZ_STOK],
SUM(CASE WHEN dbo.LG_211_01_STLINE.SOURCEINDEX = 1 THEN CASE WHEN dbo.LG_211_01_STLINE.IOCODE IN (1, 2)
THEN 1.0 ELSE - 1.0 END * dbo.LG_211_01_STLINE.AMOUNT END) AS [MARKET_STOK],
SUM(CASE WHEN dbo.LG_211_01_STLINE.SOURCEINDEX = 9 THEN CASE WHEN dbo.LG_211_01_STLINE.IOCODE IN (1, 2)
THEN 1.0 ELSE - 1.0 END * dbo.LG_211_01_STLINE.AMOUNT END) AS [SHOWROOM_STOK]
FROM dbo.LG_211_01_STLINE INNER JOIN
dbo.LG_211_ITEMS ON dbo.LG_211_01_STLINE.STOCKREF = dbo.LG_211_ITEMS.LOGICALREF INNER JOIN
dbo.LG_211_SPECODES AS LG_211_SPECODES WITH (NOLOCK) ON dbo.LG_211_ITEMS.STGRPCODE = LG_211_SPECODES.SPECODE

GROUP BY dbo.LG_211_ITEMS.CODE, dbo.LG_211_ITEMS.NAME, LG_211_SPECODES.DEFINITION_,LG_211_SPECODES.SPECODE
HAVING (LG_211_SPECODES.DEFINITION_ IN ('''+@T1+''' ))
ORDER BY kod
';
EXEC sp_executesql @SQL;
PRINT @SQL;
END;
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al