Improving a Query with a Stored Procedure (PHP examples included)

Heute mal etwas ganz anderes, weil es mir gerade über den Weg läuft.

################################################

This one should be quite obvious, but I actually stumbled upon this example in one of our projects and guess there will be more people out there who could make use of a little performance tip.

One of our customers was complaining about timeouts in one of his webservices due to long running queries in SQL (We’re talking Microsoft SQL Server 2005).

Looking into it I found a snippet looking like this:

$query_ba = „SELECT some, columns FROM BigTable bt INNER JOIN ReallyBigTable rbt ON bt.id = rbt.fk WHERE some = ‚$some‘ AND columns = ‚$cols‘ order by some, columns“;

The query ran quite long and it seemed clear there had to be a way to NOT read the whole Join and filter it afterwards with the PHP-Variables $some and $cols. To do this, create a Stored Procedure (SPROC) in Microsoft SQL Server Management Studio. In our example looking like this:

USE [Database]
GO
/****** Objekt:  StoredProcedure [dbo].[SPROC_name_of_sproc]    ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
— =============================================
— Author:        Murer, Jens
— Create date: 2010 10 29
— =============================================
CREATE PROCEDURE [dbo].[SPROC_name_of_sproc]
— Add the parameters for the stored procedure here
@some varchar(255),
@cols varchar(255)
AS
BEGIN
SET NOCOUNT ON;

— Insert statements for procedure here
SELECT     some, columns
FROM        BigTable bt INNER JOIN ReallyBigTable rbt
ON bt.id = rbt.fk and bt.some=@some and rbt.columns=@cols
END

Leading SQL Server to drastically minimizing the join due to the constrains in the ON-clause.

In PHP the line mentioned above transforms to

$query_ba = „EXEC [dbo].[SPROC_name_of_sproc] @some = N’$some‘, @cols = N’$cols'“;

The resultset of this behaves like any other you would get out of a direct query.

Hope this helps.

###################################################################

Jens Murer works as a software developer at Cenesco GmbH in Lünen, Germany. Apart from this he is interested in social marketing. In his free time he takes pictures at renaissance fairs and concerts.

Relaunch des Webauftritts der Irrlichter.

Gestern Nacht wurde heimlich, still und leise der Webauftritt der Irrlichter relauncht.

Die Farbgebung ist geblieben, das Design hat jedoch einen nicht ganz unerheblichen Sprung (Wie ich hoffe zum Guten) gemacht. Gravierender dürfte jedoch die neue Menustruktur sein, in der zielgruppenorientiert jeder das finden sollte, was er gerade sucht:

  • Veranstalter finden beim Portrait und den Programmen aufgegliedert das, was die Band ihnen bietet.
  • Fans haben eigenen Bereich mit Downloads, Infos und Shop
  • Der Pressebereich ist jetzt, was der Name verspricht

Nicht zuletzt wurde am Inhalt gefeilt, neue Downloads zur Verfügung gestellt und hinten raus vieles an der Bedienung und Pflege verbessert, so dass Neuigkeiten und neue Inhalte jetzt problemlos und schnell auf der Seite landen.

http://www.die-irrlichter.de/

1500 Scheibenweltgeschichten und keiner findet sie? Schlechter Plan.

Gestern habe ich einen kleinen Testballon gestartet. Um die Stadtwache von Ankh-Morpork mal etwas näher an 2010 zu bringen, habe ich alle Geschichten, die ich selbst geschrieben habe, in eine Blog-Software gepackt, in der Hoffnung, dass Suchmaschinen, Crawler und *gasp* Internetbenutzer die keyword-getränkten Geschichten aus der größten Metropole der Scheibenwelt so besser finden können.

Der Versuchsblog befindet sich hier:

http://stadtwache.wordpress.com/

Was ist die Stadtwache?

Die Wache ist ein Rollenspiel, das auf der bekannten Scheibenwelt von Terry Pratchett basiert, die von unfähigen Zauberern, explodierenden Drachen und anzüglichen Hexen bewohnt wird.

Jeder Spieler denkt sich selbst eine Figur aus: Wie der Name sagt, geht es um die Stadtwache von Ankh-Morpork, die Figuren der Mitspieler stellen also Wächter in dieser Truppe dar. Die Charaktere erleben die Scheibenwelt und die Wachearbeit in Kurzgeschichten, die von den Spielern geschrieben werden.

Die Mitspieler schreiben kurze Geschichten über die ‘Kriminalfälle’ in Ankh-Morpork und bewerten gleichzeitig die der Anderen. Durch die Bewertungen bekommt man Punkte, die früher oder später zu Beförderungen führen. Soweit die einfache Grund-Idee. Mit der Zeit sind immer wieder Neuerungen dazu gekommen: Multi-Missionen, Live-Fälle, eine starke Community ist gewachsen und Treffen finden statt.

Willst Du mehr erfahren? Schau in unsere Anleitung.
Oder melde Dich direkt an und werde ein Teil der Stadtwache von Ankh-Morpork!

There’s that THING again!

This is just a Verify-Post for Technorati

S9T8S5CYGNMX

Ihr denkt ja an die Abstimmung? Nur ein Post weiter unten :)

[Umfrage] Wein, Weib und/oder Gesang? Was tun mit der .de-Domäne?

In letzter Zeit war ich am Relaunch/Launch einiger Webseiten beteiligt. Angefangen bei der kompletten Entschlackung und socialization des Zeugenbergs kurz vor der Saison wurde in den letzten Wochen der Webauftritt von Allerley Trix vom bisherigen nicht sehr gepflegten Shop zu einem provisorischem Werbeflyer für die Sommeraktion umgestaltet, der schon einmal das Layout des kompletten Relaunchs Ende des Jahres andeutet. Und letzte Woche dann in einer Nacht und Nebel Aktion eine kleine aber feine erste Version von Mittelalterfotografie.de, ein erstes, schüchternes Listlein von Mittelalterfotografen, die nicht nur in ihrer Länge, sondenr auch in ihren Funktionen mit der Zeit wachsen soll. Und ganz nebenbei arbeiten eifrige Helferlein jede freie Minute an einem noch der Öffentlichkeit verhüllten Projekt, dass sich dann auch so nennen darf. Mehr dazu in ein bis zwei Wochen, wenn so leidige Themen wie Content-Pflege abgeschlossen sind.

Ein paar Nächte vor dem Monitor liegen also hinter mir, doch worum es eigentlich geht: Bei der Durchsicht der ganzen Projekte und Webpakete habe ich eine Domäne gefunden, die noch ganz und gar nicht verwendet wird. Sie wurde mal bestellt, weil sie cool klang und ein Bekannter sie vielleicht hätte brauchen können und jetzt liegt sie da. Der Name der Domain lässt so einges zu, aber nicht mit allem will man unbedingt in Verbindung gebracht werden. Also, was sollte ich damit tun?

Die Domain ist übrigens http://www.schandmaid.de

%d Bloggern gefällt das: