Search Results

Search found 37876 results on 1516 pages for 'jonathan page'.

Page 609/1516 | < Previous Page | 605 606 607 608 609 610 611 612 613 614 615 616  | Next Page >

  • Broken php/localhost/something

    - by ghego1
    I was trying to install the mcrypt libraries following this tutorial (http://www.glenscott.co.uk/blog/2011/08/29/install-mcrypt-php-extension-on-mac-os-x-lion/), but something must have gone wrong and now when I load a php page on my localhost I see this: query="SELECT DISTINCT ".$field." as a,".$field2." as b FROM ".$tab." ".$where. " Group by ".$field." order By ".$orderBy; return $this->query; } And all the remaining code of the php page that should get loaded. I've retrieved the previous versions of the private/etc folder and usr/lib/php folder with time machine but it didn't help. And now if I execute sudo pachectl restart it gives me this error: sudo: no valid sudoers sources found, quitting (while before it worked. PS I'm on a mac with Mountain Lion

    Read the article

  • thinking sphinx ordering by mixing capitals and lower case

    - by miccet
    I have a rails application that is using thinking_sphinx for the searching. My problem is that the result returned is sorted with capitals first and lower case after it at the bottom. I'd like to mix them so that both 'A' and 'a' comes before 'B'. This is the method I'm using: Company.search(query, :star => true, :page => params[:page], :per_page => 20, :order => :name, :sort_mode => :asc)

    Read the article

  • What are the possible reasons for App::import() not working?

    - by Julien Poulin
    I'm trying to implement a simple way to manage static pages in CakePhp, as described in this article. The problem I'm facing is that App::import() doesn't seem to import the required class in the routes.php file. The code is the following: App::import('Core','ClassRegistry'); $page = new StaticPage(); $slugs = $page->find('list', array( 'fields' => array('StaticPage.slug'), 'order' => 'StaticPage.slug DESC' )); I'm getting the error: Fatal error: Class 'StaticPage' not found in ... I just started CakePhp a few weeks ago and I guess I'm missing a simple thing here... I'm using CakePhp 1.3 and Php 5.2.42.

    Read the article

  • how to send database data to a MySQL server to update the server database.

    - by haisergeant
    Hi everyone, I am developing Smoking counter and I need to send all the smoking record (about the time user smoking) to database on the server. The server database is MySQL database. I knew that I must have send data to PHP page/script, and this page/script will run on the data to insert record to database. I would like to know: is there another way to update database, because I don't have knowledge about PHP. I used to work on java and c/c++/objective-c. If you know another way to do this task, please let me know. Any help would be appreciated.

    Read the article

  • CSRF verification failed, but only with Facebook App

    - by dkgirl
    I am creating a Facebook App using Django. When I access my webpage directly then it works fine. I have then added this webpage as the Facebook canvas URL, so that users are directed to this page when they go to the App. Now, when I enter the App, I get the "CSRF verification failed" error. I think it's because facebook is doing a POST, but without the CSRF token. However, I cannot control how Facebook redirects to my App. Anyone know how to deal with this? This is all my View does: def frontpage(request): return render_to_response('tube/frontpage.html', {"s": 'hello'}) and frontpage.html just writes "front page!"

    Read the article

  • What causes extra space and random alignment in my divs using the 960 grid system?

    - by tomdot
    I have an issue where elements in divs seemingly align randomly, not responding to any align tag, and where divs create extra space above or below its element. I'm using the 960 grid system and I have not altered the stock CSS file lest my fingers blow it up. I've put up a test page here, and please excuse some of the dodgy code :-D It's still in it's very early stages (as am I), but I don't feel I can move on until I can comfortably understand what is causing the issue. The best example on that page is the bottom horizontal bar and elements underneath. The bar adds a few pixels of dead space, and the elements below that align to different parts of their respective divs. Why is it that elements seemingly do not standardise their alignment given no instruction, and what causes extra space again where no instruction was given? My own thought was to relatively position everything individually, but I'm worried this will cause issues and 'break' the grid. Other than that, I unno. Thanks

    Read the article

  • Re-order form fields on submit url

    - by user2521764
    I have a get form with several visible and hidden input fields. When the form is submitted, selected fileds with their values are appended to the url in the order they are placed in the form. Is there a way to re-order the parameters in the url using jQuery? Note that for the reasons of usability, I can not re-order the elements on the form itself. I know it beggs the question "why would I want to do it?", but the reason is that I will be hitting a static page, so the order of the parameters have to be exactly how they are in the static page url. For example, my form returns a url: http://someurl??names=comm&search=all&type=list while the static page has a url: http://someurl??search=all&type=list&names=comm A simplified form example is here: <form id="search_form" method="get" action="http://www.cbif.gc.ca/pls/pp/ppack.jump" > <h2>Choose which names you want to be displayed</h2> <select name="names"> <option value="comm">Common names</option> <option value="sci">Scientific names</option> </select> <h2>Choose how you want to view the results</h2> <input type="radio" name="search" value="all" id="complete" checked = "checked" /> <label for="complete" id="completeLabel">Complete list</label> <br/> <input type="radio" name="p_null" value="house" id="house" /> <label for="house" id="houseLabel">House plants only</label> <br/> <input type="radio" name="p_null" value="illust" id="illustrat" /> <label for="illustrat" id="illustratLabel">Plants with Illustrations</label> <br/> <input type="hidden" name="type" value="list" /> <input type="submit" value="Submit" /> </form> I can get form fields with values using $(#search_form).serializeArray() and massage the array like I want to, but I don't know how to set it back, i.e. modify the serialized values so that the submitted url has my order of parameters. I'm not even sure if this is the right way to go about it, so any pointers would be greatly appreciated.

    Read the article

  • Correct use of a "for...in" loop in javascript?

    - by jnkrois
    Hello everybody, before I ask my question I wanted to let everybody know that I appreciate the fact that there's always somebody out there willing to help, and on my end I'll try to give back to the community as much as I can. Thanks Now, I would like to get some pointers as to how to properly take advantage of the "for...in" loop in JavaScript, I already did some research and tried a couple things but it is still not clear to me how to properly use it. Let's say I have a random number of "select" tags in an HTML form, and I don't require the user to select an option for all of them, they can leave some untouched if they want. However I need to know if they selected none or at least one. The way I'm trying to find out if the user selected any of them is by using the "for...in" loop. For example: var allSelected = $("select option:selected"); var totalSelected = $("select option:selected").length; The first variable produces an array of all the selected options. The second variable tells me how many selected options I have in the form (select tags could be more than one and it changes every time). Now, in order to see if any has been selected I loop through each element (selected option), and retrieve the "value" attribute. The default "option" tag has a value="0", so if any selected option returns a value greater than 0, I know at least one option has been selected, however it does not have to be in order, this is my loop so far: for(var i = 0; i < totalSelected; i++){ var eachOption = $(allSelected[i]).val(); var defaultValue = 0; if(eachOption == defaultValue){ ...redirect to another page }else if(eachOption > defaultValue){ ... I display an alert } } My problem here is that as soon as the "if" matches a 0 value, it sends the user to the next page without testing the rest of the elements in the array, and the user could have selected the second or third options. What I really want to do is check all the elements in the array and then take the next action, in my mind this is how I could do it, but I'm not getting it right: var randomValue = 25; for(randomValue in allSelected){ var found = true; var notFound = false if(found){ display an alert }else{ redirect to next page } } This loop or the logic I'm using are flawed (I'm pretty sure), what I want to do is test all the elements in the array against a single variable and take the next action accordingly. I hope this makes some sense to you guys, any help would be appreciated. Thanks, JC

    Read the article

  • CodeIgnitor is generating multiple sessions in the database, why?

    - by Derrick
    Ive got a site that does a few ajax calls on page load, now for some reason, codeIgnitor is inserting 4 sessions (I'm assuming for each ajax call) as you load the page. I'm storing the sessions in the database. I'm pretty sure there should only be one session per browser? FF seems to only generate one, other browsers seem to create a whole bunch of sessions. Multiple sessions for the same user are giving me some serious authentication problems. any ideas?

    Read the article

  • JSP Component Creation

    - by jboyd
    When creating JSP pages one thing that I'd often like is the ability to do something like this: <jsp:include page="fancystoryrenderer.jsp" value="${aStoryObjectInMyModel}/> ... fancystoryrenderer.jsp <div id="fancymainbody"> ... ${theStory.title} ... </div> The main important characteristics of this is that I can reuse the same component on the same JSP page in different places without having to copy paste the component and give the story variables different names, notice that the story is called "theStory" in the JSP and not "aStoryObjectInMyModel", the linkage between our model has been broken by the view, which is a good thing in this case How do you do this?

    Read the article

  • nginx + apache subdomain redirection fault

    - by webwolf
    i really need your advice folks since i'm experiencing some troubles with nginx & apache2 subdomains configs first of all, there's a site (say, site.com) and two subdomains (links.site.com and shop.site.com) whose files are physically located at the same level of FS hierarchy as the site.com itself my hoster has configured both apache and nginx by my request, but it still doesn't work as it used to both of subdomains point to the main page of site.com for some unknown and implicit (for me) reason :( my assumption is that's happen because site.com record is placed first in both configs?!.. please help me solve this out! every opinion would be appreciated =) nginx.conf: server { listen 95.169.187.234:80; server_name site.com www.site.com ; access_log /home/www/site.com/logs/nginx.access.log main; location ~* ^.+\.(jpeg|jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|avi|mp3|mpg|mpeg|asf|vmw)$ { expires 30d; root /home/www/site.com/www; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } location / { set $referer $http_referer; proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer $referer; proxy_set_header Host $host; client_max_body_size 10m; client_body_buffer_size 64k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } server { listen 95.169.187.234:80; server_name links.site.com www.links.site.com ; access_log /home/www/links.site.com/logs/nginx.access.log main; location ~* ^.+\.(jpeg|jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|avi|mp3|mpg|mpeg|asf|vmw)$ { expires 30d; root /home/www/links.site.com/www; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } location / { set $referer $http_referer; proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer $referer; proxy_set_header Host $host; client_max_body_size 10m; client_body_buffer_size 64k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } server { listen 95.169.187.234:80; server_name shop.site.com www.shop.site.com ; access_log /home/www/shop.site.com/logs/nginx.access.log main; location ~* ^.+\.(jpeg|jpg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|avi|mp3|mpg|mpeg|asf|vmw)$ { expires 30d; root /home/www/shop.site.com/www; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } location / { set $referer $http_referer; proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer $referer; proxy_set_header Host $host; client_max_body_size 10m; client_body_buffer_size 64k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } httpd.conf: # ServerRoot "/usr/local/apache2" PidFile /var/run/httpd.pid Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 Listen 127.0.0.1:8080 NameVirtualHost 127.0.0.1:8080 ... #Listen *:80 NameVirtualHost *:80 ServerName www.site.com ServerAlias site.com UseCanonicalName Off CustomLog /home/www/site.com/logs/custom_log combined ErrorLog /home/www/site.com/logs/error_log DocumentRoot /home/www/site.com/www AllowOverride All Options +FollowSymLinks Options -MultiViews Options -Indexes Options Includes Order allow,deny Allow from all DirectoryIndex index.html index.htm index.php ServerName www.links.site.com ServerAlias links.site.com UseCanonicalName Off CustomLog /home/www/links.site.com/logs/custom_log combined ErrorLog /home/www/links.site.com/logs/error_log DocumentRoot /home/www/links.site.com/www AllowOverride All Options +FollowSymLinks Options -MultiViews Options -Indexes Options Includes Order allow,deny Allow from all DirectoryIndex index.html index.htm index.php ServerName www.shop.site.com ServerAlias shop.site.com UseCanonicalName Off CustomLog /home/www/shop.site.com/logs/custom_log combined ErrorLog /home/www/shop.site.com/logs/error_log DocumentRoot /home/www/shop.site.com/www AllowOverride All Options +FollowSymLinks Options -MultiViews Options -Indexes Options Includes Order allow,deny Allow from all DirectoryIndex index.html index.htm index.php # if DSO load module first: LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname On RPAFproxy_ips 127.0.0.1 RPAFheader X-Forwarded-For Include conf/virthost/*.conf

    Read the article

  • What's causing “Session state has created a session id, but cannot save it because the response was

    - by mike nelson
    I'm getting this fault intermittently. I found this link which summarises fairly well what I was able to find on the Google: http://www.wacdesigns.com/2009/02/03/session-state-has-created-a-session-id-but-cannot-save-it-because-the-response-was-already-flushed-by-the-application/ Basically it says you can try setting the web config setting DisplayWhenNewSession, or try kicking the session state thing into life by getting the Session.SessionID in the Session_OnStart. But does anyone: a) have an explanation for this or even better, b) have a tried and tested fix I realise that I can't flush the response after doing anything that would affect the http response header. If I did this it would cause an error every time but this is intermittent. The SessionID should surely be created by ASP.NET at the beginning of the page response automatically, before anything in the ASPX page or the Page_Load (which is where all my flushes are called).

    Read the article

  • Cookie Blocked popup in IE

    - by Shyju
    I have a website hosted in a server named msa_inst_server. In my login page ,after user enter the username,i will check whether cookies are available or not,But when i access the login page in IE 6.0 in one machine in the local network,I am getting a pop up saying that I have added the site to trusted zone,changed the settings to allow all cookies.But no way to get rid of this problem. Any thoughts.... ? Does the underscore in the server name matters ? Thanks in advance

    Read the article

  • Preload images using jquery

    - by OddOneOut
    In my web page some images are taking a lot of time to load in IE.So I used this for preloading images in my page.But still the problem persists.Any suggestions? function preload(arrayOfImages) { $(arrayOfImages).each(function(){ $('<img/>')[0].src = this; }); alert("Done Preloading..."); } // Usage: preload([ '/images/UI_1.gif', '/images/UI_2.gif', '/images/UI_3.gif', '/images/UI_4.gif', '/images/UI_5gif', '/images/UI_6.gif', '/images/UI_7.gif', '/images/UI_8.gif', '/images/UI_9.gif' ]); < div

    Read the article

  • Get content in iframe to use as much space as it needs

    - by Mark
    I'm trying to write a simple JavaScript based modal dialog. The JavaScript function takes the content, puts it in a new iframe and adds the iframe to the page. Works great so far, the only problem is that the content of the dialog (e.g. a table) gets wrapped, although plenty of space is available on the page. I'd like the content of the dialog, a table in my case, to use as much space as it needs, without wrapping any lines. I tried lots of combinations of setting width/style.width on the iframe and the table. Nothing did the trick. Here the code to show the iframe dialog: function SimpleDialog() { this.domElement = document.createElement('iframe'); this.domElement.setAttribute('style', 'border: 1px solid red; z-index: 201; position: absolute; top: 0px; left: 0px;'); this.showWithContent = function(content) { document.getElementsByTagName('body')[0].appendChild(this.domElement); this.domElement.contentDocument.body.appendChild(content); var contentBody = this.domElement.contentDocument.body; contentBody.style.padding = '0px'; contentBody.style.margin = '0px'; // Set the iframe size to the size of content. // However, content got wrapped already. this.domElement.style.height = content.offsetHeight + 'px'; this.domElement.style.width = content.offsetWidth + 'px'; this._centerOnScreen(); }; this._centerOnScreen = function() { this.domElement.style.left = window.pageXOffset + (window.innerWidth / 2) - (this.domElement.offsetWidth / 2) + 'px'; this.domElement.style.top = window.pageYOffset + (window.innerHeight / 2) - (this.domElement.offsetHeight / 2) + 'px'; }; } Here the test code: var table = document.createElement('table'); table.setAttribute('style', 'border: 1px solid black; width: 100%;'); table.innerHTML = "<tr><td style='font-size:40px;'>Hello world in big letters</td></tr><tr><td>second row</td></tr>"; var dialog = new SimpleDialog(); dialog.showWithContent(table); The table shows up nicely centered on the page, but the words in the first cell are wrapped to two lines. How do I get the table to use as much space as it needs (without using white-space: nowrap ;) Thanks in advance for any suggestions! -Mark

    Read the article

  • MySQL Connection Error with JSP

    - by voidmain
    Hello, I am trying to connect to mysql database from jsp page. The connection code is as below InitialContext ic=new InitialContext(); DataSource ds=(DataSource)ic.lookup("jdbc:mysql://localhost:3306/"); Connection con=ds.getConnection(); Statement stmt = con.createStatement(); when i open the page i get the following error javax.servlet.ServletException: javax.naming.NamingException: Lookup failed for 'jdbc:mysql://localhost:3306/' in SerialContext [Root exception is javax.naming.NameNotFoundException: jdbc:mysql:] can some one please tell me what is wrong with this...

    Read the article

  • PHP Redirect location with htaccess

    - by Wayne
    In one of the page I have is where administrators are allowed, however, I use if the session isn't set, the header will redirect them to index.php and that method works. If I replace index.php with home which is for the htaccess which changes it to index.php but it gives an error in the browser This works: if(!isset($_SESSION['MEMBER'])){ header("Location: index.php"); } This does not work: if(!isset($_SESSION['MEMBER'])){ header("Location: home"); } htaccess: RewriteRule ^home$ index.php The error in Firefox: The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. This problem can sometimes be caused by disabling or refusing to accept cookies. What's wrong with it? How do I get this method to work?

    Read the article

  • How to make last line of each table's part unfinished in latex longtable?

    - by diver_ru
    I have a table that automatically stretched over several pages by longtable package. \begin{longtable}{| l | l |} \hline A & B \\ \hline \endfirsthead \multicolumn{3}{l}{Table \thetable{} -- finishing} \\ \hline \endhead a1 & b1 \\ \hline a1 & b2 \\ hline ........ \end{longtable} Suppose that table broken (automatically) between first and second lines. Now i have this: ------- |A | B| ------- |a1|b1| ------- <page break> Table 1 -- finishing. ------- |a2|b2| ------- I want the following effect: ------- |A | B| ------- |a1|b1| <page break> Table 1 -- finishing. ------- |a2|b2| ------- I.e. last line of broken part should be unfinished.

    Read the article

  • How to show related content using like in mysql?

    - by halocursed
    I currently have a table for products with it's own set of tags and a table for news with it's own set of tags. I wanted to add related news to the products page so I was thinking of using like but since the column tags in the products page is something like (Products) tags- manutd, man utd, football (news) tags - manutd, blah, bruha [this one is related] (news) tags - man, utd, bruha [this one is not related] I wanted to use a query to show all news containing any of the tags(from products) seperated by commas using mysql. How should I go about constructing such a query? If there is a better way of doing this a little explanation would be helpful too. Thanks

    Read the article

  • Alternative to iframe using AJAX

    - by JCHASE11
    Hello. I have a music player swf embedded on an html page. Is there any way to have the music continuously play, even when the different html pages are loaded? When a link is clicked, the page is refreshed, also restarting the swf(music). If the site was AJAX driven, this wouldn't be a problem, but all my pages are static. I suppose I could put the entire body in an iframe, but there has to be a better option. Any ideas?

    Read the article

  • Jquery Content Cycle Next/Previous not working

    - by user340745
    I have a definition list with a lot of text inside of it. When a user comes to the page, I want the jQuery to hide two thirds of that content, add a next and previous button where appropriate, and fade the content in and out. The first third of the content is .issue-group-1, the second third is .issue-group-3, the third, .issue-group-3. I am trying to set it so that when the user hits the next button, the next button changes classes, and thus acts differently the next time the user clicks it (that is, it takes them to the third page instead of the second. Right now, the next/previous buttons are working on the first and second "pages" but the next button to the third page won't work. My code is probably too long and this is maybe not the best way to do it--I'm new to jquery. Any suggestions would be helpful. $(document).ready(function(){ $('.issue-group-2, .issue-group-3').hide(); $('a#next-button.page1').fadeIn(500); $('a#next-button.page1').click(function() { $(this).removeClass('page1').addClass('page2'); $('.issue-group-1').fadeOut(500, function() { $('.issue-group-2').fadeIn(500); }); $('a#previous-button').fadeIn(500); }); $('a#previous-button.page2').click(function() { $('#next-button.page2').removeClass('page2').addClass('page1'); $('.issue-group-2').fadeOut(500, function() { $('.issue-group-1').fadeIn(500); }); $('a#previous-button').fadeOut(500); }); $('a#next-button.page2').click(function() { $('a#previous-button').removeClass('page2').addClass('page3'); $('.issue-group-2').fadeOut(500, function() { $('.issue-group-3').fadeIn(500); }); $('a#next-button').fadeOut(500); }); $('a#previous-button.page3').click(function() { $(this).removeClass('page3').addClass('page2'); $('.issue-group-2').fadeOut(500, function() { $('.issue-group-2').fadeIn(500); }); $('a#next-button').fadeIn(500); }); });

    Read the article

  • Session sometimes timesout too quick

    - by kaivalya
    I am noticing session timeouts on my asp.net mvc web app randomly without browser being incative for for more than few minutes. My understanding is the default timeout should be 20mins. But sometimes I get a timeout in couple minutes or even less than that. For example after browsing on the site for a while I might get a session timeout when i refresh a page very soon after I enter the page. This is very random but I have seen this happen quite a few times now and I am not sure how I can trace this to see why I loose sessions every once in a while whithout browser being inactive long. I checked my web.config an no timeout value is defined there so I assume it should be 20mins. Hard to debug as this does not occur regularly..

    Read the article

  • Show different product image in new.phtml vs. list

    - by user1907662
    $collection = $this->_addProductAttributesAndPrices($collection) ->addStoreFilter() ->addAttributeToFilter('is_discontinued', array('neq' => 1) ) ->addAttributeToFilter('collection_id', array('neq' => 'LKG') ) ->addAttributeToFilter('media_gallery_label', array('eq' => 'Home Page Image') ) //->addAttributeToSort('entity_id', 'desc') ->addAttributeToSort('news_from_date', 'desc') For the media_gallery_label field, I need to be able to filter by any gallery images, and if the label of any of the images is "Home Page Image", it needs to display instead of the default "small" image. I need this to work only in new.phtml file, and not in the list.phtml.

    Read the article

  • How can I improve my select query for storing large versioned data sets?

    - by Jason Francis
    At work, we build large multi-page web applications, consisting mostly of radio and check boxes. The primary purpose of each application is to gather data, but as users return to a page they have previously visited, we report back to them their previous responses. Worst-case scenario, we might have up to 900 distinct variables and around 1.5 million users. For several reasons, it makes sense to use an insert-only approach to storing the data (as opposed to update-in-place) so that we can capture historical data about repeated interactions with variables. The net result is that we might have several responses per user per variable. Our table to collect the responses looks something like this: CREATE TABLE [dbo].[results]( [id] [bigint] IDENTITY(1,1) NOT NULL, [userid] [int] NULL, [variable] [varchar](8) NULL, [value] [tinyint] NULL, [submitted] [smalldatetime] NULL) Where id serves as the primary key. Virtually every request results in a series of insert statements (one per variable submitted), and then we run a select to produce previous responses for the next page (something like this): SELECT t.id, t.variable, t.value FROM results t WITH (NOLOCK) WHERE t.userid = '2111846' AND (t.variable='internat' OR t.variable='veteran' OR t.variable='athlete') AND t.id IN (SELECT MAX(id) AS id FROM results WITH (NOLOCK) WHERE userid = '2111846' AND (t.variable='internat' OR t.variable='veteran' OR t.variable='athlete') GROUP BY variable) Which, in this case, would return the most recent responses for the variables "internat", "veteran", and "athlete" for user 2111846. We have followed the advice of the database tuning tools in indexing the tables, and against our data, this is the best-performing version of the select query that we have been able to come up with. Even so, there seems to be significant performance degradation as the table approaches 1 million records (and we might have about 150x that). We have a fairly-elegant solution in place for sharding the data across multiple tables which has been working quite well, but I am open for any advice about how I might construct a better version of the select query. We use this structure frequently for storing lots of independent data points, and we like the benefits it provides. So the question is, how can I improve the performance of the select query? I assume the nested select statement is a bad idea, but I have yet to find an alternative that performs as well. Thanks in advance. NB: Since we emphasize creating over reading in this case, and since we never update in place, there doesn't seem to be any penalty (and some advantage) for using the NOLOCK directive in this case.

    Read the article

< Previous Page | 605 606 607 608 609 610 611 612 613 614 615 616  | Next Page >