<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7652.24">
<TITLE>RE: [Mono-dev] Performance problem with System.Data</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hey Hubert,<BR>
<BR>
You hit a serious design issue in sys.Data: indeed the performance of DataView is really poor.<BR>
The reason is as following: every time a change operation is performed on some row, the DataView does not have enough knowledge how that will affect its index, thus DataView rebuilds it. (May be in case with Delete it's clear, but there are many other cases, see OnRowChanged() ).<BR>
<BR>
When designing current index implementation I planned to extend the index with events, similar to those DataTable has (i.e. RowChanged, RowDeleted etc). The DataView will need to subscribe to Index events instead of those of DataTable (like it does now). When DataTable changes, it should notify all its indices, so DataView's index will fire a relevant event to its DataView, eliminating the need for UpdateIndex.<BR>
<BR>
But when the index implementation has been submitted and everything worked, including the DataView, I did not have a chance to rewrite DataView and left it mostly untouched.<BR>
<BR>
Having all this in mind, fixing only the Delete() scenario won't solve the issue in general.<BR>
<BR>
Regards,<BR>
Konstantin Triger<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: mono-devel-list-bounces@lists.ximian.com on behalf of Hubert FONGARNAND<BR>
Sent: Fri 2/1/2008 13:08<BR>
To: mono-devel-list@lists.ximian.com<BR>
Subject: [Mono-dev] Performance problem with System.Data<BR>
<BR>
I think i've catched a huge perf. problem with System.Data<BR>
<BR>
<A HREF="https://bugzilla.novell.com/show_bug.cgi?id=357947">https://bugzilla.novell.com/show_bug.cgi?id=357947</A><BR>
<BR>
_________________________________________________<BR>
<BR>
Ce message et les eventuels documents joints peuvent contenir des informations confidentielles.<BR>
Au cas ou il ne vous serait pas destine, nous vous remercions de bien vouloir le supprimer et en aviser immediatement l'expediteur. Toute utilisation de ce message non conforme a sa destination, toute diffusion ou publication, totale ou partielle et quel qu'en soit le moyen est formellement interdite.<BR>
Les communications sur internet n'etant pas securisees, l'integrite de ce message n'est pas assuree et la societe emettrice ne peut etre tenue pour responsable de son contenu.<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>